МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ Белорусский национальный технический университет Кафедра «Микро- и нанотехника» Е. Н. Щербакова ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ НАНО- И МИКРОСИСТЕМНОЙ ТЕХНИКИ Учебно-методическое пособие Минск БНТУ 2017 1 МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ Белорусский национальный технический университет Кафедра «Микро- и нанотехника» Е. Н. Щербакова ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ НАНО- И МИКРОСИСТЕМНОЙ ТЕХНИКИ Учебно-методическое пособие для студентов специальности 1-38 01 04 «Микро- и наносистемная техника» Рекомендовано учебно-методическим объединением по образованию в области приборостроения Минск БНТУ 2017 2 УДК 621.382.049.77:004(075.8) ББК 32.81я7 Щ61 Рецензенты: кафедра электронной техники и технологии Белорусского государственного университета информатики и радиоэлектроники (зав. кафедрой А. П. Достанко); декан факультета непрерывного и дистанционного обучения Белорусского государственного университета информатики и радиоэлектроники, доц., канд. техн. наук В. М. Бондарик Щербакова, Е. Н. Информационные технологии нано- и микросистемной техники : учебно-методическое пособие для студентов специальности 1-38 01 04 «Микро- и наносистемная техника» / Е. Н. Щербакова. – Минск: БНТУ, 2017. – 78 с. ISBN 978-985-550-608-0. В учебно-методическом пособии представлены материалы из лекционного и прак- тического курса дисциплины: общие характеристики процессов сбора, передачи, об- работки и хранения информации; организация информационных процессов; инфор- мационные технологии при выборе решений в области технологии нано- и микросистемной техники, организации, планирования и управления производством, а также автоматизированные системы научных исследований, САПР, МЭМС и НЭМС, технологии компьютерного моделирования нано- и микросистемной техники. УДК 621.382.049.77:004(075.8) ББК 32.81я7 ISBN 978-985-550-608-0 © Щербакова Е. Н., 2017 © Белорусский национальный технический университет, 2017 Щ61 3 СОДЕРЖАНИЕ СПИСОК СОКРАЩЕНИЙ ............................................................... 5 ВВЕДЕНИЕ ........................................................................................ 6 1. КРАТКИЙ КУРС ЛЕКЦИЙ .......................................................... 7 1.1. Определение, классификация и инструментарий информационных технологий. Информационная технология и информационная система ................................................................... 7 1.2. Общая характеристика процессов сбора, передачи, обработки и хранения информации. Контроль достоверности данных ........................................................................... 8 1.3. Понятия «объективность», «полнота», «достоверность», «адекватность», «доступность» и «актуальность» информации. Технология обеспечения безопасности компьютерных систем. Проблемы использования информационных технологий ................ 12 1.4. Информационная технология поддержки принятия решений. Основные компоненты ........................................................ 15 1.5. Экспертные системы и их типы. Основные способы формализованного представления знаний в нано- и микросистемной технике. Области применения экспертных систем................................................................................ 17 1.6. Автоматизированные системы научных исследований. Типовая структура ................................................................................ 22 1.7. Общие сведения о системах автоматизированного проектирования. Типовая структура. Определение и основное назначение СAD- / CAE- / CAM-систем ............................................. 24 1.8. Основы автоматизации проектирования микроэлектромеханических и наноэлектромеханических систем. Методология их проектирования ........................................................ 26 1.9. Интегрированные пакеты автоматизированного проектирования МЭМС и НЭМС ....................................................... 27 1.10. Общие сведения о компьютерном математическом моделировании. Классификация математических моделей. Имитационное моделирование ............................................................ 31 1.11. Этапы, цели и средства компьютерного математического моделирования ........................................................ 32 1.12. Особенности имитационного моделирования производственных систем.................................................................... 35 4 1.13. Основные параметры, определяющие течение и состояние технологического процесса производства компонентов нано- и микросистемной техники ................................ 36 1.14. Система моделей в технологии нано- и микросистемной техники ....................................................... 38 1.15. Понятие о вычислительном технологическом эксперименте ......................................................................................... 40 1.16. Общая характеристика технологии создания программного обеспечения. Этапы разработки программного обеспечения ................................................................. 43 1.17. Современные методы разработки ПО: метод нисходящего проектирования, модульное проектирование, CASE-технологии ................................................................................. 48 2. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ ПРАКТИЧЕСКИХ ЗАНЯТИЙ ............................................................ 53 Практическое занятие № 1. МЕТОДЫ И ПРОГРАММЫ ВИЗУАЛИЗАЦИИ РЕЗУЛЬТАТОВ МОДЕЛИРОВАНИЯ НАНОСТРУКТУР ................................................................................ 53 Практическое занятие № 2. ОСНОВНЫЕ ПРИНЦИПЫ РАБОТЫ XMD ...................................................................................... 63 Практическое занятие № 3. МОДЕЛИРОВАНИЕ ПЛАВЛЕНИЯ МЕТАЛЛИЧЕСКИХ НАНОЧАСТИЦ И КЛАСТЕРОВ ..................................................................................... 69 Практическое занятие № 4. МОДЕЛИРОВАНИЕ НАНОКРИСТАЛЛИЗАЦИИ АМОРФНЫХ МЕТАЛЛОВ ПРИ ДЕФОРМАЦИИ ........................................................................... 75 СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ ........................ 78 5 СПИСОК СОКРАЩЕНИЙ CAD (сomputer aided design) – системы инженерной графики; CAE (сomputer aided engineering – системы инженерных расчетов; CAM (computer aided manufacturing) – системы автоматизации подготовки и управления производством; EDA (electronic design automation) – автоматизированное проек- тирование электронных средств; АСНИ – автоматизированные системы научных исследований; ВТ – вычислительная техника; ВТЭ – вычислительный технологический эксперимент; МЭМС – микроэлектромеханические системы; НЭМС – наноэлектромеханические системы; ПО – программное обеспечение; САПР – система автоматизированного проектирования; СБИС – сверхбольшая интегральная микросхема; ТП – технологический процесс; ЭВМ – электронно-вычислительная машина. 6 ВВЕДЕНИЕ Дисциплина «Информационные технологии нано- и микроси- стемной техники» является частью специальной подготовки инже- нера-электромеханика. Данное пособие поможет изучить общие характеристики процессов сбора, передачи, обработки и хранения информации, организацию информационных процессов, информа- ционные технологии при выборе решений в области технологии нано- и микросистемной техники, организации, планирования и управления производством, а также автоматизированные системы научных исследований, системы автоматизированного проектиро- вания МЭМС и НЭМС, технологии компьютерного моделирования нано- и микросистемной техники. Усложнение разрабатываемых устройств микро- и нанотехники приводит к тому, что подготовка специалистов по производству и проектированию нано- и микросистемной техники должна вклю- чать такие важные составляющие формирования базового набора компетенций, как знание теоретических основ информационных тех- нологий, методов моделирования и проектирования компонентов микро- и нанотехники, а также наличие практических навыков исполь- зования современных средств автоматизированного проектирования МЭМС и НЭМС, моделирования наноструктур и нанотехнологий. Пособие состоит из двух частей. В первой, теоретической части, приведен основной материал лекционного курса. Во второй части собраны методические указания к выполнению практических работ. При подготовке учебного материала была использована литература, перечисленная в списке использованных источников [1–10], про- анализированы разнообразные источники в сети Internet. Получен- ная информация была систематизирована и обобщена. Учебно-методическое пособие предназначено для студентов специальности 1-38 01 04 «Микро- и наносистемная техника». 7 1. КРАТКИЙ КУРС ЛЕКЦИЙ 1.1. Определение, классификация и инструментарий информационных технологий. Информационная технология и информационная система Информационная технология (ИТ) – совокупность средств и методов сбора, обработки и передачи данных (первичной инфор- мации) для получения информации нового качества о состоянии объекта, процесса или явления (информационного продукта). Цель информационной технологии: производство информации для ее анализа человеком и принятия на его основе решения по вы- полнению какого-либо действия. Глобальная информационная технология включает модели, методы и средства, формализующие и позволяющие использовать информационные ресурсы общества. Базовая информационная технология предназначена для опре- деленной области применения (производство, научные исследова- ния, обучение и т. д.). Конкретные информационные технологии реализуют обра- ботку данных при решении функциональных задач пользователей (например, задачи учета, планирования, анализа). На данный момент существуют различные подходы к проблеме классификации информационных технологий. Приведем некоторые из них. В одних работах выделяют следующие виды информацион- ных технологий: – информационная технология обработки данных; – информационная технология управления; – автоматизация офиса; – информационная технология поддержки принятия решений; – информационная технология экспертных систем. Другие источники информационные технологии подразделяют на различные виды следующим образом: – функционально-ориентированные информационные техноло- гии, предназначенные для реализации определенных задач; – предметно-ориентированные информационные технологии, предназначенные для решения конкретных задач в определенной предметной области; 8 – проблемно-ориентированные информационные технологии, предназначенные для решения типовых прикладных задач. Инструментарий информационной технологии – один или несколько взаимосвязанных программных продуктов для опреде- ленного типа компьютера, технология работы в котором позволяет достичь поставленную пользователем цель. Информационная система – человеко-компьютерная система для поддержки принятия решений и производства информационных про- дуктов, использующая компьютерную информационную технологию. 1.2. Общая характеристика процессов сбора, передачи, обработки и хранения информации. Контроль достоверности данных Сбор информации. Система сбора информации представляет собой сложный программно-аппаратный комплекс. Как правило, совре- менные системы сбора информации не только обеспечивают коди- рование информации и ее ввод в ЭВМ, но и выполняют предвари- тельную (первичную) обработку этой информации. Сбор информации – это процесс получения информации из внешнего мира и приведение ее к виду, стандартному для данной информационной системы. Обмен информацией между восприни- мающей информацию системой и окружающей средой осуществля- ется посредством сигналов. Сигнал можно определить как средство перенесения информации в пространстве и времени. В качестве носителя сигнала в технологии компонентов микро- и нанотехники могут выступать электрический ток, свет, магнитное поле и т. п. Технические системы для приема сигналов оснащаются специальными устройствами. Вне зависимо- сти от носителя информации (сигнала) типичный процесс обработки сигнала может быть охарактеризован следующими шагами. На пер- вом шаге исходный (первичный) сигнал с помощью специального устройства (датчика) преобразуется в эквивалентный ему электри- ческий сигнал (электрический ток). На втором шаге вторичный (электрический) сигнал в некоторый выделенный момент времени оцифровывается специальным устройством – аналого-цифровым преобразователем (АЦП). АЦП значению электрического сигнала ставит в соответствие некоторое число из конечного множества 9 таких чисел. Таким образом, датчик и АЦП, связанные вместе, состав- ляют цифровой измерительный прибор. Если этот прибор оснастить некоторым устройством для хранения измеренной величины – реги- стром, – то на следующем шаге по команде от ЭВМ можно ввести это число в машину и подвергать затем любой необходимой обработке. Передача информации. Взаимодействие между территориально удаленными объектами осуществляется за счет обмена данными. Доставка данных производится по заданному адресу с использова- нием сетей передачи данных. В современных условиях большое распространение получила распределенная обработка информации, при этом сети передачи данных превращаются в информационно- вычислительные. В качестве простейшего способа повышения достоверности пе- редачи информации может использоваться контроль на четность. Суть этого способа заключается в следующем. На входе в канал связи производится подсчет числа «1» в двоичной кодовой после- довательности – входном сообщении. Если число «1» оказывается нечетным, в хвост передаваемого сообщения добавляется «1», а если нет, то «0». На принимающем конце канала связи производят ана- логичный подсчет, и если контрольная сумма оказывается нечетной, то делается вывод о том, что при передаче произошло искажение информации, в противном случае принятая информация признается правильной (неискаженной). В описанном способе используется один добавочный контрольный разряд. Это позволяет обнаруживать ошибку передачи в случае искажения одного-единственного разряда в сообщении. Этот очень простой способ применяют при передаче данных на большие расстояния. В тех случаях, когда вероятность искажения информации при передаче велика, требуются более сложные методы. Так помехоустойчивые коды позволяют не только принимать решение о правильности передачи информации, но и в ряде случаев производить ее исправление. При контроле на чет- ность единственный способ получить достоверную информацию – повторная передача сообщения. В случае корректирующих кодов, что очень важно при высокой стоимости передачи, имеется воз- можность исправлять ошибки на принимающем конце канала связи, избегая, таким образом, повторной передачи информации. 10 Обработка информации. Технология электронной обработки информации – человеко-машинный процесс исполнения взаимосвя- занных операций, протекающих в установленной последовательно- сти с целью преобразования исходной (первичной) информации в результатную. Операция представляет собой комплекс совершае- мых технологических действий, в результате которых информация преобразуется. Технологические операции разнообразны по слож- ности, назначению, технике реализации, выполняются на различном оборудовании, многими исполнителями. В условиях электронной обработки данных преобладают операции, выполняемые автомати- чески на машинах и устройствах, которые считывают данные, вы- полняют операции по заданной программе в автоматическом режиме при участии человека, или сохраняя за пользователем функции конт- роля, анализа и регулирования. Построение технологического процесса производства компонен- тов микро- и наносистемной техники определяется следующими факторами: особенностями обрабатываемой информации, ее объе- мом, требованиями срочности и точности обработки, типами, коли- чеством и характеристиками применяемых технических средств. Они ложатся в основу организации технологии, которая включает установление перечня, последовательности и способов выполнения операций, порядка работы специалистов и средств автоматизации, организацию рабочих мест, установление временных регламентов взаимодействия и т. п. Организация технологического процесса должна обеспечить его экономичность, комплексность, надежность функционирования, высокое качество работ. Это достигается ис- пользованием системотехнического подхода к проектированию технологии. При этом имеет место комплексное взаимосвязанное рассмотрение всех факторов, путей, методов построения техноло- гии, применение элементов типизации и стандартизации, а также унификации схем технологических процессов. Различают два основных типа организации технологических процессов: – предметный; – пооперационный. Предметный тип организации технологии предполагает созда- ние параллельно действующих технологических линий, специали- зирующихся на обработке информации и решении конкретных 11 комплексов задач и организующих пооперационную обработку данных внутри линии. Пооперационный (поточный) тип построения технологического процесса предусматривает последовательное преобразование обра- батываемой информации согласно технологии, представленной в виде непрерывной последовательности сменяющих друг друга операций, выполняемых в автоматическом режиме. Хранение информации вызвано многократным ее использова- нием, применением постоянной информации, необходимостью комплектации первичных данных до их обработки. Осуществляется на машинных носителях в виде информационных массивов, где данные располагаются по установленному в процессе проектирова- ния группировочному признаку. Контроль безопасности данных и систем подразделяется на контроль достоверности данных, безопасности данных и компью- терных систем. Контроль достоверности данных выполняется про- граммно во время ввода и обработки. Средства безопасности данных и программ защищают их от копирования, искажения, несанкцио- нированного доступа. Средства безопасности компьютерных систем обеспечивают защиту от кражи, вирусов, неправильной работы пользователей, несанкционированного доступа. Контроль достоверности данных. Основная задача заключает- ся в определении местоположения искаженных данных и их ис- правлении. Различают три типа контроля достоверности: – синтаксический; – семантический; – прагматический. Синтаксический контроль обеспечивает проверку типа полей, наличие запрещенных символов, порядка следования реквизитов. Выполняется на основе описания входных документов. Семантический контроль проверяет логические взаимосвязи зна- чений реквизитов, непротиворечивость данных и их согласованность. Прагматический контроль проверяет плотность, своевремен- ность, полноту данных, предоставляемых для принятия решений. Выполняется на основе выходных документов. 12 1.3. Понятия «объективность», «полнота», «достоверность», «адекватность», «доступность» и «актуальность информации». Технология обеспечения безопасности компьютерных систем. Проблемы использования информационных технологий Объективность и субъективность информации. Понятие объек- тивности является относительным, так как методы являются субъек- тивными. Более объективной принято считать ту информацию, в которую методы вносят меньший субъективный элемент. Полнота информации. Полнота информации во многом характе- ризует качество информации и определяет достаточность данных для принятия решений или для создания новых данных на основе имеющихся. Чем полнее данные, тем шире диапазон методов, кото- рые можно использовать. Достоверность информации. Данные возникают в момент реги- страции сигналов, но не все сигналы являются «полезными» – всегда присутствует какой-то уровень посторонних сигналов, в результате чего полезные данные сопровождаются определенным уровнем «информационного шума». Если полезный сигнал зарегистрирован более четко, чем посторонние сигналы, достоверность информации может быть более высокой. Адекватность информации – это степень соответствия реальному объективному состоянию дела. Неадекватная информация может образовываться при создании новой информации на основе непол- ных или недостоверных данных. Однако и полные, и достоверные данные могут приводить к созданию неадекватной информации в случае применения к ним неадекватных методов. Доступность информации – мера возможности получить ту или иную информацию. На степень доступности информации влияют одновременно как доступность данных, так и доступность адекват- ных методов для их интерпретации. Отсутствие доступа к данным или отсутствие адекватных методов обработки данных приводит к одинаковому результату: информация оказывается недоступной. Актуальность информации – это степень соответствия инфор- мации текущему моменту времени. Поскольку информационные процессы растянуты во времени, то достоверная и адекватная, но устаревшая информация может приводить к ошибочным решениям. 13 Репрезентативность информации связана с правильностью ее отбора и формирования в целях адекватного отражения свойств объекта. Важное значение здесь имеют: – правильность концепции, на базе которой сформулировано ис- ходное понятие; – обоснованность отбора существенных признаков и связей отображаемого явления. Содержательность информации отражает семантическую ем- кость, равную отношению количества семантической информации в сообщении к объему обрабатываемых данных, то есть с д , IС V  (1.1) где Ic – количество семантической информации; Vд – объем данных. Точность информации определяется степенью близости получа- емой информации к реальному состоянию объекта, процесса, явле- ния и т. п. Устойчивость информации отражает ее способность реагиро- вать на изменения исходных данных без нарушения необходимой точности. Устойчивость информации, как и репрезентативность, обусловлена выбранной методикой ее отбора и формирования. Технология обеспечения безопасности компьютерных систем Кража программных средств, взлом их защиты, порча программ- ных продуктов появились одновременно с возникновением компью- терных технологий. Но наибольшее внимание к этим вопросам при- влек запуск в октябре 1988 г. Робертом Моррисом вируса в компь- ютерную сеть Apranet. В результате был полностью или частично заблокирован ряд общенациональных компьютерных сетей, в част- ности Internet, C&net, Bitnet. Общий ущерб оценивается специали- стами в 100 млн долл. Поэтому вопросами безопасности компью- терных систем с момента их возникновения занимались ведомства по охране государственных и военных тайн, а в настоящее время – законодательные службы и институты. 14 Во время эксплуатации наибольший вред наносят вирусы. На больших ЭВМ команды обработки прерываний были привиле- гированными, то есть недоступными программисту. Поэтому на больших ЭВМ вирусы не приносили существенных убытков. Прерывания на ПЭВМ обрабатываются непривилегированными ко- мандами и могут быть доступными как операционной системе, так и прикладным программам. Прикладные программы могут перехва- тить прерывание, выполнить любые действия и вернуть управление. Так образуются вирусы, которые по среде размножения делятся: – на файловые, заражающие файлы с расширением; – boot-вирусы, заражающие сектор начальной загрузки; – компилируемые, изменяющие текст исходных модулей; – сетевые, запускающие вирусы по сети и являющиеся самыми разрушительными. Вирусы могут заражать программы, диски, операционные системы. Для борьбы с ними разработаны программы, которые делятся на следующие виды. 1. Детекторы и ревизоры – проверяют целостность информации. В основном они запоминают длину программы или файла, подс- читывают и проверяют контрольные суммы программ, файлов. Являю- тся наиболее перспективными для выявления новых типов вирусов. 2. Программы-фаги – вырезают повторяющийся текст или вирусы. 3. Программы-фильтры – следят за несанкционированными дей- ствиями по обработке прерываний. Проблемы использования информационных технологий 1. Информационный поток превосходит ограниченные возмож- ности человека по восприятию и переработке информации. 2. Возникает большое количество избыточной информации (так называемый «информационный шум»), которая затрудняет воспри- ятие полезной для потребителя информации. 3. Возникают экономические, политические и другие барьеры, которые препятствуют распространению информации (например, по причине секретности). Частичный выход из информационного кризиса видится в при- менении новых информационных технологий. Внедрение совре- менных средств и методов хранения, обработки и передачи инфор- 15 мации многократно снижают барьер доступа к ней и скорость поиска. Разумеется, одни лишь технологии не могут решить проблему, имеющую и экономический характер (информация стоит денег), и юридический (информация имеет собственника), и ряд других. Эта проблема комплексная и решается усилиями как каждой страны, так и мирового сообщества в целом. 1.4. Информационная технология поддержки принятия решений. Основные компоненты Системы поддержки принятия решений и соответствующая им информационная технология появились в конце 70-х–начале 80-х гг. ХХ в., чему способствовали широкое распространение персональ- ных компьютеров, стандартных пакетов прикладных программ, а также успехи в создании систем искусственного интеллекта. Главной особенностью информационной технологии поддержки принятия решений является качественно новый метод организации взаимодействия человека и компьютера. Выработка решения, что является основной целью этой технологии, происходит в результате итерационного процесса, в котором участвуют: – система поддержки принятия решений (СППР) в роли вычис- лительного звена и объекта управления; – лицо, принимающее решение, оценивающее полученный ре- зультат вычислений на компьютере. Окончание итерационного процесса происходит по воле человека. В этом случае можно говорить о способности информационной си- стемы совместно с пользователем создавать новую информацию для принятия решений. Дополнительно к этой особенности информационной технологии поддержки принятия решений можно указать еще ряд ее отличи- тельных характеристик: – ориентация на решение плохо структурированных (формализо- ванных) задач; – сочетание традиционных методов доступа и обработки компь- ютерных данных с возможностями математических моделей и ме- тодами решения задач на их основе; – направленность на непрофессионального пользователя ком- пьютера; 16 – высокая адаптивность, обеспечивающая возможность приспо- сабливаться к особенностям имеющегося технического и про- граммного обеспечения, а также требованиям пользователя. Информационная технология поддержки принятия решений мо- жет использоваться на любом уровне управления. Кроме того, ре- шения, принимаемые на различных уровнях управления, часто должны координироваться. Поэтому важной функцией и систем, и технологий является координация лиц, принимающих решения, как на разных уровнях управления, так и на одном уровне. Основные компоненты. Рассмотрим структуру системы поддерж- ки принятия решений (рис. 1.1), а также функции составляющих ее блоков, которые определяют основные технологические операции. Рис. 1.1. Основные компоненты информационной технологии поддержки принятия решений В состав системы поддержки принятия решений входят три главных компонента: база данных, база моделей и программная подсистема, которая состоит из системы управления базой данных (СУБД), системы управления базой моделей (СУБМ) и системы управления интерфейсом между пользователем и компьютером. База данных играет в информационной технологии поддержки принятия решений важную роль. Данные могут использоваться непосредственно пользователем для расчетов при помощи матема- тических моделей. Рассмотрим источники данных и их особенности. 1. Часть данных поступает от информационной системы опера- ционного уровня. Чтобы использовать их эффективно, данные должны быть предварительно обработаны. 17 2. Помимо данных об операциях предприятия для функциониро- вания системы поддержки принятия решений требуются и другие внутренние данные, например данные о движении персонала, ин- женерные данные и т. п., которые должны быть своевременно со- браны, введены и поддержаны. 3. Важное значение, особенно для поддержки принятия решений на верхних уровнях управления, имеют данные из внешних источ- ников. В отличие от внутренних данных внешние обычно приобре- таются у специализирующихся на их сборе организаций. 4. В настоящее время широко исследуется вопрос о включении в базу данных еще одного источника данных – документов, вклю- чающих в себя записи, письма, контракты, приказы и т. п. Если со- держание этих документов будет записано и затем обработано по некоторым ключевым характеристикам (поставщикам, потребителям, датам, видам услуг и др.), то система получит новый мощный ис- точник информации. База моделей. Целью создания моделей являются описание и оп- тимизация некоторого объекта или процесса. Использование моделей обеспечивает проведение анализа в системах поддержки принятия решений. Модели, базируясь на математической интерпретации про- блемы, при помощи определенных алгоритмов способствуют нахож- дению информации, полезной для принятия правильных решений. Пример. Модель линейного программирования дает возможность определить наиболее выгодную производственную программу вы- пуска нескольких видов продукции при заданных ограничениях на ресурсы. 1.5. Экспертные системы и их типы. Основные способы формализованного представления знаний в нано- и микросистемной технике. Области применения экспертных систем Наибольший прогресс среди компьютерных информационных систем отмечен в области разработки экспертных систем (ЭС), ос- нованных на использовании элементов искусственного интеллекта. Экспертные системы дают возможность специалисту получать кон- сультации экспертов по любым проблемам, на основе которых этими системами накоплены знания. 18 Под искусственным интеллектом (ИИ) обычно понимают способности компьютерных систем к таким действиям, которые назывались бы интеллектуальными, если бы исходили от человека. Чаще всего здесь имеются в виду способности, связанные с челове- ческим мышлением. Работы в области искусственного интеллекта не ограничиваются экспертными системами. Они также включают в себя создание роботов, систем, моделирующих нервную систему человека, его слух, зрение, обоняние, способность к обучению. Решение специальных задач требует специальных знаний. Глав- ная идея использования технологии экспертных систем заключается в том, чтобы получить от эксперта его знания и, загрузив их в па- мять компьютера, использовать всякий раз, когда в этом возникнет необходимость. Являясь одним из основных приложений искус- ственного интеллекта, экспертные системы представляют собой компьютерные программы, трансформирующие опыт экспертов в какой-либо области знаний в форму эвристических правил. На практике ЭС используются прежде всего как системы-советчики в тех ситуациях, где специалист сомневается в выборе правильного решения. Экспертные знания, хранящиеся в памяти системы, более глубокие и полные, чем соответствующие знания пользователя. ЭС находят распространение при решении задач с принятием решений в условиях неопределенности (неполноты) для распозна- вания образов, в прогнозировании, диагностике, планировании, управлении, конструировании и т. д. Типичная экспертная система состоит из решателя (интерпрета- тора), БД (базы данных), БЗ (базы знаний), компонентов приобрете- ния знаний, объяснительного и диалогового компонентов. БД предназначена для хранения исходных и промежуточных данных, используемых для решения задач, фактографических данных. Решатель, используя исходные данные из БД и БЗ, обеспечивает решение задач для конкретных ситуаций. Компонент приобретения знаний автоматизирует процесс наполнения БЗ. Объяснительный компонент объясняет, как система получила решение задачи (или почему не получила) и какие знания она при этом использовала. Диалоговый компонент обеспечивает диалог между экспертной системой и пользователем в процессе решения задачи и приобретения знаний. 19 Экспертные системы создаются для решения разного рода задач профессиональной деятельности человека и в зависимости от этого выполняют разные функции. Типы экспертных систем. 1. Экспертные системы первого поколения. Предназначены для решения хорошо структурированных задач, требующих небольшого объема эмпирических знаний. Сюда относятся классификационные задачи и задачи выбора из имеющегося набора вариантов. 2. Оболочки ЭС. Имеют механизм ввода-вывода, но БЗ пустая. Требуется настройка на конкретную предметную область. Знания приобретаются в процессе функционирования ЭС, способной к са- мообучению. 3. Гибридные ЭС. Предназначены для решения различных задач с использованием БЗ. Это задачи с использованием методов си- стемного анализа, исследования операций, математической стати- стики, обработки информации. Пользователь имеет доступ к объек- тивизированным знаниям, содержащимся в БЗ и пакетах приклад- ных программ. 4. Сетевые ЭС. Между собой связаны несколько экспертных систем. Результаты решения одной из них являются исходными данными для другой системы. Эффективны при распределенной обработке информации. При разработке экспертных систем должны участвовать: – эксперт той предметной области, задачи которой будет решать система; – инженер по знаниям – специалист по разработкам систем; – программист – специалист по разработке инструментальных средств. Эксперт определяет знания, то есть описывает предметную об- ласть в виде совокупности данных и правил, обеспечивает полноту и правильность введенных в экспертную систему знаний. Данные определяют объекты, их характеристики и значения. Правила ука- зывают на способы манипулирования данными. Инженер по знаниям помогает эксперту: выявить и структуриро- вать знания, необходимые для функционирования экспертной си- стемы; осуществить выбор инструментальных средств, которые 20 наиболее эффективны для решения задач в данной предметной об- ласти; указать способы представления знаний. Программист разрабатывает инструментальную среду, включа- ющую все компоненты экспертной системы, производит ее сопря- жение с другими существующими системами. Основные способы формализованного представления знаний в нано- и микросистемной технике. 1. Представление знаний продукционными правилами. Продукци- онные правила представляют знания в форме ЕСЛИ–ТО. Системы, использующие представления знаний продукционными правилами, называются продукционными. Это самый наглядный и простой спо- соб. В таких системах представления знаний имеются средства, поз- воляющие использовать в данных и правилах нечеткую информацию с определенной вероятностью, называемой фактором уверенности. 2. Логика предикатов (раздел математической логики). Константы и переменные определяют отдельные объекты и обозначаются буква- ми или набором букв (U, V, W, X, Y). Последовательность из n констант или переменных (n – конечно, n > 1) называется функцией. Атомар- ным предикатом называется последовательность из n сущностей и по- нятий, описанных константами, переменными или функциями. Предикат принимает одно из двух значений: истина или ложь. Предикат, в котором все переменные, константы и функции связаны между собой, называется предложением. Предложения используются для представления знаний. Логика предикатов обеспечивает высо- кий уровень модульности знаний (представляет их как единое целое в определенной предметной области) и позволяет выяснить, имеются или отсутствуют противоречия между новыми и уже существую- щими знаниями. Но чрезмерный уровень формализации представ- ления знаний, трудность их прочтения снижают эффективность об- работки. Кроме этого, в логике предикатов все отношения описываются предикатами, что не позволяет при компьютерной об- работке полностью отразить свойства структуры данных. 3. Семантические сети. Знания можно рассматривать как отно- шения между понятиями и сущностями, являющимися конкретны- ми объектами реального мира. Понятия и отношения можно пред- ставить в виде семантической сети, состоящей из вершин и дуг. В вершинах располагаются понятия, а направленные связи между 21 вершинами соответствуют различного рода отношениям между этими понятиями. Семантические сети могут быть выполнены обучаемыми и растущими, что означает возможность автоматического добавления в сеть новых узлов по мере появления в опыте ее использования новых понятий, а также увеличение весовых коэффициентов, соот- ветствующих дугам. В процессе ее обучения между существующи- ми узлами также могут устанавливаться дополнительные связи. 4. Фреймовые системы. Фреймы рассматриваются как структура описания отдельной сущности или понятия. Они могут быть в виде их совокупностей, представляемых как отдельное множество зна- ний, относящихся к одному объекту. Каждый фрейм состоит из множества элементов, называемых слотами, которые в свою оче- редь представляются определенной структурой данных. Каждый фрейм и слот имеют имя, единственное во всей фреймовой системе. В значении слот содержит конкретную информацию. Области применения ЭС. ЭС в задачах интерпретации, как пра- вило, используют информацию от датчиков для описания ситуации. В качестве примера приведем интерпретацию показаний измеритель- ных приборов на предприятии для определения состояния технологи- ческого процесса. Интерпретирующие системы имеют дело не с чет- кими символьными представлениями проблемной ситуации, а непос- редственно с реальными данными. Они сталкиваются с затруднения- ми, которых нет у систем других типов, потому что им приходится обрабатывать информацию зашумленную, недостаточную, неполную, ненадежную или ошибочную. Им необходимы специальные методы регистрации характеристик непрерывных потоков данных, сигналов или изображений и методы их символьного представления. ЭС в задачах прогнозирования определяют вероятные послед- ствия заданных ситуаций. Системы прогнозирования иногда ис- пользуют имитационное моделирование, то есть программы, кото- рые отражают причинно-следственные взаимосвязи в реальном мире, чтобы сгенерировать ситуации или сценарии, которые могут возникнуть при тех или иных входных данных. Эти возможные си- туации вместе со знаниями о процессах, порождающих эти ситуа- ции, образуют предпосылки для прогноза. ЭС в задачах диагностики используют описания ситуаций, ха- рактеристики поведения или знания о конструкции компонента, 22 чтобы установить вероятные причины неправильного функциони- рования диагностируемой системы. Пример: локализация неис- правностей в электронных приборах. ЭС, применяемые в области проектирования, разрабатывают конфигурации объектов с учетом набора ограничений, присущих проблеме. Учитывая то, что проектирование столь тесно связано с планированием, многие проектирующие системы содержат меха- низмы разработки и уточнения планов для достижения желаемого проекта. Наиболее часто встречающиеся области применения пла- нирующих ЭС: химия, электроника и военное дело. ЭС, которые используются для решения задач наблюдения, сравнивают действительное поведение с ожидаемым поведением системы. Примером может служить слежение за показаниями изме- рительных приборов в ядерных реакторах с целью обнаружения аварийных ситуаций. Наблюдающие ЭС по самой своей природе должны работать в режиме реального времени. ЭС в задачах ремонта аппаратуры следуют плану, который пред- писывает некоторые рецепты восстановления. Примером является настройка масс-спектрометра, то есть установка ручек регулировки прибора в положение, обеспечивающее достижение оптимальной чувствительности, совместимой с правильным отношением величин пиков и их формы. ЭС в области обучения подвергают диагностике, «отладке» и ис- правлению («ремонту») поведение обучаемого. В качестве примера приведем обучение студентов поиску неисправностей в электриче- ских цепях. 1.6. Автоматизированные системы научных исследований. Типовая структура Автоматизированные системы научных исследований (АСНИ) представляют собой программно-аппаратные комплексы, обрабаты- вающие данные, поступающие от различного рода экспериментальных установок и измерительных приборов, и на основе их анализа облег- чающие обнаружение новых эффектов и закономерностей (рис. 1.2). 23 Исследователь Устройства отображения информации Клавиатура Блок имитационного моделирования Расчетный блок Экспертная система Блок связи с измерительной аппаратурой Пакет прикладных программ База данных Рис. 1.2. Типовая структура АСНИ Блок связи с измерительной аппаратурой преобразует к нужному виду информацию, поступающую от измерительной аппаратуры. В базе данных хранится информация, поступившая из блока свя- зи с измерительной аппаратурой, а также заранее введенная с целью обеспечения работоспособности системы. Расчетный блок, выполняя программы из пакета прикладных программ, производит все математические расчеты, в которых может возникнуть потребность в ходе научных исследований. Расчеты могут выполняться как по требованию исследователя, так и блока имитационного моделирования. При этом на основе ма- тематических моделей воспроизводится процесс, происходящий во внешней среде. Экспертная система моделирует рассуждения специалистов данной предметной области. С ее помощью исследователь может классифицировать наблюдаемые явления, диагностировать течение исследуемых процессов. АСНИ получили широкое распространение в молекулярной хи- мии, минералогии, биохимии, физике элементарных частиц и дру- гих науках. 24 1.7. Общие сведения о системах автоматизированного проектирования. Типовая структура. Определение и основное назначение CAD- / CAE- / CAM-систем Близкими по своей структуре и функциям к системам автомати- зации научных исследований оказываются системы автоматизиро- ванного проектирования (САПР). САПР – комплекс программных и аппаратных средств, предна- значенных для автоматизации процесса проектирования человеком технических изделий или продуктов интеллектуальной деятельности. Проектирование новых изделий – основная задача изобретателей- конструкторов – протекает в несколько этапов, таких как нормиро- вание замысла, поиск физических принципов, обеспечивающих реа- лизацию замыслов и требуемые значении конструкции, поиск кон- структивных решений, их расчет и обоснование, создание опытного образца, разработка технологий промышленного изготовления. Если формирование замысла и поиск физических принципов пока остаются чисто творческими, не поддающимися автоматизации эта- пами, то при конструировании и расчетах с успехом могут быть применены САПР (рис. 1.3). База данных, блок имитационного моделирования, расчетный блок и экспертная система выполняют функции, аналогичные функциям соответствующих блоков АСНИ. Вместо блока связи с измерительной аппаратурой в САПР имеется блок формирования заданий. Проектировщик вводит в блок техническое задание на проектирование с указанием целей, которые необходимо достичь при проектировании, и все ограничения, которые нельзя нарушить. Блок подготовки технической документации облегчает ее создание для последующего изготовления изделия. Аппаратное обеспечение САПР составляет ЭВМ с набором устройств, необходимых для ввода и вывода графической информа- ции (графопостроитель, световое перо, графический планшет и др.). Системы автоматизации проектирования включают в себя систе- мы инженерной графики (CAD), системы инженерных расчетов (CAE), системы автоматизации подготовки и управления производ- ства (CAM). CAD-системы предназначены для решения конструк- торских задач и оформления конструкторской документации. В со- временные CAD-системы входят модули моделирования трехмерной 25 объемной конструкции и оформления чертежей и текстовой кон- структорской документации (спецификаций, ведомостей и т. д.). Рис 1.3. Типовая схема САПР САЕ-системы – это класс систем, каждая из которых позволяет решать определенную расчетную задачу, начиная от расчетов на прочность, анализа и моделирования тепловых процессов до расче- тов гидравлических систем и машин, расчетов процессов литья. В CAЕ-системах также используется трехмерная модель изделия, созданная в системе CAD. CAM-системы предназначены для проектирования обработки из- делий на станках с числовым программным управлением (ЧПУ) и выдачи программ для этих станков. В настоящее время CAM- системы являются одним из основных способов изготовления слож- нопрофильных деталей и сокращения цикла их производства. В них используется трехмерная модель детали, созданная в CAD-системе. Традиционно производится условное деление CAD- / CAM- / CAE-систем на системы верхнего (например, Unigraphics), среднего (например, Solid Edge) и нижнего уровня (например, AutoCAD). Основные критерии выбора систем: – функциональные возможности; – наличие уникальных функций; – стоимость; – простота интерфейса и легкость обучения. 26 1.8. Основы автоматизации проектирования микроэлектромеханических и наноэлектромеханических систем. Методология их проектирования Микроэлектромеханические системы (МЭМС) – это интегриро- ванные системы, комбинирующие электрические и механические компоненты, изготовленные по технологиям, совместимым с техно- логией ИС, и имеющие размеры от 0,1 до сантиметров. Наноэлектромеханические системы (НЭМС) – это интегриро- ванные системы, комбинирующие электрические и механические компоненты, изготовленные по технологиям, совместимым с техно- логией ИС, и имеющие размеры от 0,1 до 100 нанометров. В общем случае они обеспечивают конвертирование величин различной физической природы (электрической, механической и т. д.). В связи с этим обобщенная функциональная блок-схема МЭМС включает в себя следующие компоненты: – актюаторы и / или сенсоры; – системы излучения (антенны); – цепи, используемые для обработки информации от сенсоров, актюаторов; – цепи управления. Актюатор (составная часть МЭМС) – это устройство, которое преобразовывает энергию в управляемое движение. Благодаря своей простоте наибольшее распространение в МЭМС получили электро- статические преобразователи. Электростатическая активация при- меняется примерно в одной трети актюаторов. Сенсор – это устройство, преобразующее входное воздействие различной физической природы в электрический сигнал. Методы проектирования систем, базирующихся на использова- нии электрических и механических компонентов, изготовленных по технологиям, совместимым с технологией производства интеграль- ных схем, существенно отличаются от ранее применявшихся мето- дов проектирования электромеханических систем. В основе марш- рутов проектирования МЭМС и НЭМС лежит междисциплинарный подход, позволяющий учесть разнообразные физические взаимо- действия между разными областями системы: электрической, меха- нической, тепловой и др. Важной проблемой в наноинженерии 27 является выбор моделей, адекватно отражающих поведение микро- и наноразмерных элементов на различных уровнях проектирования наносистем. При выборе проектного решения необходимо также учитывать влияние технологического процесса и различных деста- билизирующих факторов. В связи с этим для реализации сложных маршрутов проектирования МЭМС и НЭМС применяются интегриро- ванные САПР, позволяющие выполнить моделирование и оценку раз- личных проектных решений на различных уровнях проектирования. Методология проектирования МЭМС базируется: – на классической механике, основанной на трех законах Ньюто- на и принципе относительности Галилея; – теоретической (аналитической) механике (механика Лагранжа); – классической электродинамики (уравнения Максвелла). Методология проектирования НЭМС базируется: – на квантовой механике; – наноэлектромеханических концепциях. Проектирование МЭМС и НЭМС почти на всех своих фазах авто- матизировано. В связи с этим рассматриваются методологии, алгорит- мы, методы описания и моделирования, используемые при автомати- зированном проектировании. Все перечисленное выше объединяется в понятие «CAE – computer aided engineering». Специфические особен- ности маршрутов проектирования микро- и наносистем по сравнению с традиционными макросистемами вытекают из их размеров. 1.9. Интегрированные пакеты автоматизированного проектирования МЭМС и НЭМС Для автоматизированного проектирования МЭМС и НЭМС необ- ходимы интегрированные системы, включающие в себя подсистемы: – проектирование на компонентном уровне; – проектирование на междисциплинарном уровне; – проектирование электронных компонентов; – проектирование с учетом обеспечения надежного функциони- рования МЭМС и НЭМС. В настоящее время разработаны различные пакеты автоматизиро- ванного проектирования МЭМС и НЭМС, позволяющие выполнить проектирование на всех основных этапах в интегрированном марш- руте. Одним из таких пакетов является интегрированный пакет 28 программ CoventorWare (http://www.eurointech.ru/coventor). В настоя- щее время он включает в себя следующие основные модули (рис. 1.4): – модуль ARCHITECT; – модуль DESIGNER; – модуль ANALYZER; – модуль INTEGRATOR. Рис. 1.4. Архитектура интегрированного пакета автоматизированного проектирования CoventorWare Имеются также дополнительные модули. – модуль Etch-3D; – модуль MEMULATOR; Программа ARCHITECT содержит библиотеки поведенческих моделей электромеханических, оптических, жидкостных и т. д. микроустройств и библиотеки базовых элементов (пружины, массы, демпферы, конденсаторы, индуктивности, операционные усилите- ли, транзисторы и т. д.). Модуль моделирования позволяет выполнить различные виды анализа: – расчет рабочих точек по постоянному току; – анализ переходных процессов; 29 – частотный анализ в режиме малого сигнала; – анализ передаточных функций по постоянному току; – анализ чувствительности. Программа Architect позволяет значительно облегчить труд про- ектировщика, предоставляя различные средства визуализации МЭМС и НЭМС. При выборе трехмерного моделирования открыва- ется дополнительное окно CoventorWare – Architect 3D-Visualizer. Окно состоит из трех панелей. На левой панели отражается дерево анализа модели. Из верхней панели конструктор выбирает необхо- димые инструменты для выбора проекции проектируемого устрой- ства. В центральной панели отражаются результаты работы. Например, при моделировании двойного гироскопа можно: – увеличить изображение с помощью лупы; – изучить поведение проектируемого устройства в требуемый промежуток времени; – получить изображение проектируемого устройства в различ- ных проекциях. При этом изменение цвета от синего к красному соответствует изменению амплитуды смещения с нулевого до максимального зна- чения. В программе Architect доступна анимация для следующих видов анализа: расчет установившихся и переходных режимов, а также модальный анализ. Возможности анимации в программе Architect значительно уси- лились после появления модуля Scene-3D. Продукт Scene-3D является вспомогательной программой для модуля Architect и позволяет отображать схему МЭМС устройства в виде трехмерного прототипа. С введением в состав пакета CoventorWare модуля Scene-3D стало возможным формирование трехмерного вида разрабатываемого устройства, а также визуализация его функционирования непосред- ственно из модуля Architect, минуя этап формирования послойных масок. Подобная функциональность стала возможной благодаря вве- дению специальной библиотеки трехмерных элементов, связанной с библиотеками поведенческих моделей. Кроме того, помимо МЭМС устройств, 3D-библиотеки могут содержать модели любых других элементов, например транзисторов. Интегрированный пакет автоматизированного проектирования CoventorWare поддерживает формат gdsii, dxf. Возможен экспорт модели в программный комплекс Ansys. 30 Другим примером интегрированного пакета автоматизирован- ного проектирования МЭМС и НЭМС является САПР MEMS Pro. Он предназаначен для проектирования следующих МЭМС: – механизмов (радиальные и линейные гребни, зубчатые передачи, мембраны, консоли, микроузлы); – инерционных блоков (якоря, балки, пластины); – электромеханических структур (гребневые микродвигатели); – пьезорезисторов и пьезоэлектрических элементов и т. д. В настоящее время интегрированный пакет автоматизирован- ного проектирования EMS Pro включает в себя следующие основ- ные модули: – MEMS Modeler; – L-Edit; – Design Rule Checker. Программа MEMS Modeler позволяет получить поведенческие модели. Интегрированная среда позволяет выполнить проектирование на всех основных этапах автоматизированного проектирования МЭМС и НЭМС. Интегрированный пакет автоматизированного проектиро- вания MEMS Pro поддерживает формат gdsii, cif. Возможен обмен моделями с программным комплексом Ansys. Еще одним примером интегрированного пакета автоматизирован- ного проектирования МЭМС и НЭМС является САПР IntelliSuite фирмы IntelliSense Software, США. Поддерживает маршрут проек- тирования для следующих МЭМС: – микроустройства (акселерометры, гироскопы, микрофоны, сверхоперативные запоминающие устройства и т. д.); – микродвигатели (радиальные и линейные гребневые микродви- гатели, зубчатые передачи, моторы и т. д.); – электромагнитные МЭМС (переключатели, перестраиваемые конденсаторы и т. д.); – СВЧ МЭМС (копланарные волноводы, электрооптические мо- дуляторы, микрополосковые катушки и т. д.); – анализаторы (тепловые, механические, электростатические, пьезоэлекрические, биоМЭМС и т. д.). В настоящее время интегрированный пакет автоматизированного проектирования IntelliSuite включает в себя следующие основные модули: 31 – MEMaterial; – IntelliFAB; – AnisE; – RECIPE; – IntelliMask. Интегрированный пакет автоматизированного проектирования IntelliSuite поддерживает формат iges, gdsii, dxf. Возможен обмен конечно-элементными моделями с программным комплексом Ansys. 1.10. Общие сведения о компьютерном математическом моделировании. Классификация математических моделей. Имитационное моделирование Основой автоматизированного проектирования МЭМС и НЭМС является математическая модель. Она представляет собой множе- ство математических объектов и отношений между ними, адекватно отражающее конкретные свойства МЭМС и НЭМС. Модель – материальный объект, система математических зави- симостей или программа, имитирующая структуру или функциони- рование исследуемого объекта. Моделирование – представление различных характеристик поведе- ния физической или абстрактной системы с помощью другой системы. Математическое моделирование – метод исследования процес- сов и явлений на их математических моделях. Изучение компьютерного математического моделирования от- крывает широкие возможности для осознания связи информатики с математикой и другими науками – естественными и социальными. Компьютерное математическое моделирование в разных своих прояв- лениях использует практически весь аппарат современной математики. К классификации математических моделей можно подходить по- разному, положив в основу различные принципы: а) классификация моделей по отраслям наук (математические модели в физике, биологии, социологии и т. д.); б) классификация моделей по применяемому математическому аппарату (модели, основанные на применении обыкновенных диф- ференциальных уравнений, дифференциальных уравнений в част- ных производных, стохастических методов, дискретных алгебраи- ческих преобразований и т. д.); 32 в) классификация моделей с точки зрения целей моделирования: – дескриптивные (описательные); – оптимизационные; – многокритериальные; – имитационные. Пример. Меняя тепловой режим отжига, можем стремиться по- добрать такой, чтобы достичь максимальной проводимости пленки, то есть оптимизируем процесс. Имитационная модель – описание системы и ее поведения, ко- торое может быть реализовано и исследовано в ходе операций на компьютере. Имитационное моделирование – исследование поведения слож- ной системы на ее модели. Можно сказать, что чаще всего имитационное моделирование применяется для того, чтобы описать свойства большой системы при условии, что поведение составляющих ее объектов очень про- сто и четко сформулировано. Математическое описание тогда сво- дится к уровню статистической обработки результатов моделирова- ния при нахождении макроскопических характеристик системы. Такой компьютерный эксперимент фактически претендует на вос- произведение натурного. Имитационное моделирование позволяет осуществить проверку гипотез, исследовать влияние различных факторов и параметров. 1.11. Этапы, цели и средства компьютерного математического моделирования Рассмотрим процесс компьютерного математического моделиро- вания, включающий численный эксперимент с моделью (рис. 1.5). Первый этап – определение целей моделирования. Основные цели: 1) модель нужна для того, чтобы понять, как устроен конкрет- ный объект, какова его структура, основные свойства, законы раз- вития и взаимодействия с окружающим миром (понимание); 2) модель нужна для того, чтобы научиться управлять объектом (или процессом) и определить наилучшие способы управления при заданных целях и критериях (управление); 33 3) модель нужна для того, чтобы прогнозировать прямые и кос- венные последствия реализации заданных способов и форм воздей- ствия на объект (прогнозирование). Рис. 1.5. Общая схема процесса компьютерного математического моделирования Важнейшим этапом моделирования является разделение вход- ных параметров по степени важности влияния их изменений на вы- ходные. Такой процесс называется ранжированием (разделением по рангам). От того, насколько умело выделены важнейшие факторы, зависит успех моделирования, быстрота и эффективность достиже- ния цели. Выделить более важные (или, как говорят, значимые) факторы и отсеять менее важные может лишь специалист в той предметной области, к которой относится модель. Отбрасывание (по крайней мере при первом подходе) менее зна- чимых факторов огрубляет объект моделирования и способствует пониманию его главных свойств и закономерностей. Умело ранжи- рованная модель должна быть адекватна исходному объекту или процессу в отношении целей моделирования. Обычно определить, адекватна ли модель, можно только в процессе экспериментов с ней, анализа результатов. 34 Следующий этап – поиск математического описания. На этом этапе необходимо перейти от абстрактной формулировки модели к формулировке, имеющей конкретное математическое наполнение. В этот момент модель предстает перед нами в виде уравнения, си- стемы уравнений, системы неравенств, дифференциального уравне- ния или системы таких уравнений и т. д. Когда математическая модель сформулирована, выбирается ме- тод ее исследования. Как правило, для решения одной и той же за- дачи есть несколько конкретных методов, различающихся эффек- тивностью, устойчивостью и т. д. От верного выбора метода часто зависит успех всего процесса. Разработка алгоритма и составление программы для ЭВМ – это творческий и трудноформализуемый процесс. В настоящее время при компьютерном математическом моделировании часто исполь- зуются приемы процедурно-ориентированного (структурного) про- граммирования. При создании имитационной модели можно также воспользо- ваться возможностями одного из пакетов математической поддержки (Mathematica, MathCad, MathLab и др). В настоящее время существуют проблемно-ориентированные имитационные языки, в которых объединяются различные альтерна- тивные подходы и которые самой своей структурой определяют воз- можную схему действий разработчика модели. Характерным приме- ром такого рода является SLAM – simulating language for alternative modeling – имитационный язык для альтернативного моделирования. После составления программы решаем с ее помощью простей- шую тестовую задачу (желательно, с заранее известным ответом) с целью устранения грубых ошибок. Это только начало процедуры тестирования, которую трудно описать формально исчерпывающим образом. По существу, тестирование может продолжаться долго и закончиться тогда, когда пользователь по своим профессиональ- ным признакам сочтет программу верной. Затем следует собственно численный эксперимент, и выясняется, соответствует ли модель реальному объекту (процессу). Модель адекватна реальному процессу, если некоторые характеристики процесса, полученные на ЭВМ, совпадают с экспериментальными с заданной степенью точности. В случае несоответствия модели ре- альному процессу возвращаемся к одному из предыдущих этапов. 35 1.12. Особенности имитационного моделирования производственных систем Для анализа производственных систем, которые очень сложны, разноплановы, не имеют исчерпывающего математического описа- ния, адекватные математические модели, будь то логические или числовые, построить не представляется возможным. Естественным здесь является использование методов имитационного моделирования. Система может быть однозначно описана набором значений про- изводственных параметров, характерных для каждого конкретного ее состояния. Если их внести в компьютер, то изменения в ходе вычис- лительного процесса можно интерпретировать как имитацию пере- хода системы из одного состояния в другое. При таких предположе- ниях имитационное моделирование можно рассматривать как динамическое представление системы путем продвижения ее одного состояния к другому по характерным операционным правилам. При имитационном моделировании производственных систем из- менения их состояния происходят в дискретные моменты времени. Основная концепция имитационного моделирования системы и в этом случае состоит в отображении изменений ее состояния с те- чением времени. Таким образом, здесь определяющим является вы- деление и однозначное описание состояний моделируемой системы. Имитационные модели позволяют без использования каких-либо аналитических или других функциональных зависимостей отобра- жать сложные объекты, состоящие из разнородных элементов, между которыми существуют разнообразные связи. В эти модели также может быть включен и человек. Без принципиальных усложнений в такие модели могут быть включены как детерминированные, так и стохастические потоки (материальные и информационные). С помощью имитационного моделирования можно отображать взаимосвязи между рабочими местами, потоками материалов и изделий, транспортными сред- ствами и персоналом. Несмотря на такие очевидные преимущества, прежде всего за- ключающиеся в широте и универсальности применения, при этом методе из вида упускается существование логических связей, что исключает возможность полной оптимизации получаемых на этой 36 модели решений. Гарантируется лишь возможность отбора лучшего из просмотренных вариантов. Практически же имитационное моделирование во многих реаль- ных случаях – единственно возможный способ исследования. После разработки имитационной модели с ней проводятся компьютерные эксперименты, которые позволяют сделать выводы о поведении производственной системы. Появление и развитие методов компьютерного имитационного моделирования стало возможным также и в результате развития метода статистических испытаний, позволившего моделировать случайные события и процессы, занимающие большое место в ре- альных производствах. При составлении имитационной модели и проведении с ее по- мощью моделирования исследуемого объекта необходимо решение нескольких связанных между собой задач. К ним относятся: – анализ моделируемой системы и составление ее формализован- ного описания, включая выявление информационно-логической структуры системы, идентификацию ее компонентов, выбор парамет- ров, характеризующих состояние этих компонентов, разработку ком- пьютерной модели системы, способной воспроизвести ее поведение, планирование эксперимента по развертыванию событий в компью- терной модели, отображающих события в моделируемой системе; – разработка методологии компьютерного статистического экс- перимента, включая генерацию случайных или псевдослучайных чисел, имитацию различных случайных событий, статистическую обработку данных; – проведение собственно компьютерного эксперимента на ими- тационной модели, включая управление параметрами и перемен- ными модели в ходе ее исследования на компьютере. 1.13. Основные параметры, определяющие течение и состояние технологического процесса производства компонентов нано- и микросистемной техники Современный анализ всего технологического процесса произ- водства материалов электронной техники осуществляют на основе системного подхода, где основным является понятие «большая система» или «большая технологическая система», включающее 37 совокупность происходящих физико-химических и механических процессов, объектов обработки и средств для их реализации. Рис. 1.6. Схема технологического процесса как большой системы Технологический процесс, как большая система, схематически представлен на рис. 1.6. Здесь: Х1, Х2, . . ., Хm – входы системы или параметры определения ис- ходных продуктов; Y1, Y2,. . ., Yn – выходы системы или выходные параметры конеч- ного продукта; Z1, Z2, . . ., Zi – контролируемые и управляющие факторы, необхо- димые для поддержания определенного технологического процесса; Wl, W2, . . ., Wk – неконтролируемые (возмущающие) факторы, оказывающие случайное возмущающее воздействие на процесс. Охарактеризуем основную группу параметров, определяющих течение процесса и его состояние в любой момент времени. 1. Входные параметры. К ним относятся величины, которые мо- гут быть определены экспериментально, но возможность воздей- ствия на них в течение процесса отсутствует. Значения этих пара- метров не зависят от режима процесса. Например, в процессах получения монокристаллов входным параметром может быть со- став исходного сырья, загружаемый в печь. 2. Выходные параметры конечного продукта. К ним относят те характеристики системы, значения которых определяются режимом изучаемого процесса в системе, подвергающейся воздействию входных, управляющих и неконтролируемых факторов. 3. Управляющие параметры. Это те параметры процесса, на ко- торые можно оказывать влияние в соответствии с теми или иными требованиями, что позволяет управлять процессом. Zi X Y Wi 38 4. Неконтролируемые (возмущающие) параметры. Значения их изменяются случайно с течением времени и обычно не могут быть измерены на протяжении процесса. Формализация системы осуществляется с помощью математиче- ской модели, выражающей связь между выходными параметрами системы, параметрами состояния и входными управляющими и возмущающими переменными. Выбор совокупности характери- стик процесса определяется главным образом теми целями, для до- стижения которых и строится математическая модель процесса. 1.14. Система моделей в технологии нано- и микросистемной техники В зависимости от назначения выделяют нижеприведенную си- стему моделей. 1. Модели для исследования процессов. Главной целью таких мо- делей является получение полных знаний об объекте в целом или отдельных его сторонах. Их основу составляет сжатое, наглядное и взаимосвязанное отражение накопленных представлений о физи- ческих, физико-химических и других закономерностях протекания процессов. Особенностью моделей этого уровня является достаточ- но глубокое отражение отдельных сторон и явлений (например, анализ гидродинамики расплава при выращивании кристаллов). Основным назначением таких моделей является получение новых знаний, проникновение во внутренний механизм явлений и процессов. Второе важное направление связано с возможностью использования этих моделей для синтеза алгоритмов управления и выбора эффек- тивных управляющих воздействий. 2. Модели для расчета и оптимизации технологии. Такие модели применяются для расчетов технологических процессов и использу- ются в виде инструкций по ведению процесса в проектируемых и действующих агрегатах или в виде задающих установок автома- тическим регуляторам. Для этой цели могут использоваться либо определенным образом модифицированные модели, описанные выше, либо создаваться специальные модели в ориентации на до- стижение целевых технологических критериев. 3. Модели для прогнозирования оптимальных траекторий про- цесса во времени. В основу таких моделей могут быть положены 39 представления, полученные с помощью моделей двух рассмотрен- ных выше уровней. Однако наиболее существенным здесь является отражение особенностей протекания, например, отдельных процес- сов варки стекла, в зависимости от конкретных начальных условий и состояния с учетом взаимосвязей управляемых и внутренних па- раметров, что может оказывать значительное влияние на прогнози- руемые программные режимы. Эти модели целесообразно исполь- зовать для «проигрывания» процессов в ускоренном масштабе времени, например перед предстоящей варкой стекла, когда стано- вятся известными начальные условия (состав стекла, температура и т. д.), для выбора оптимального распределения управляющих воз- действий во времени (по ходу варки). 4. Модели для стабилизирующего или следящего регулирования. Модели этого уровня должны отличаться наибольшей простотой и оперативностью отражения динамики процесса. При построении таких моделей широко используется функциональный подход. Они чаще всего описываются зависимостями линейного вида и справедливы для управления по отдельным каналам в относительно узком диапазоне изменения переменных. 5. Модели для автоматизированных систем обучения и повыше- ния квалификации на основе тренажерных комплексов. Тренажеры как средство обучения имеют следующие основные достоинства: – замена реального объекта учебной информационной моделью, позволяющей выделить наиболее существенные для обучения сто- роны и элементы, в том числе редко встречающиеся и аварийные ситуации, вести подготовку пооперационно и поэтапно с постепен- ным переходом от простого к сложному; – возможность изменения параметров моделируемого объекта и масштаба времени, позволяющая повысить интенсивность обучения, например, за счет многократного повторения необходимых ситуаций; – резкое сокращение материальных и энергетических затрат на обучение по сравнению с обучением на реальном объекте и др. К моделям, предназначенным для тренажерных комплексов, по сравнению с моделями для управления предъявляются менее жест- кие требования по количественной адекватности, но в них необхо- дима более высокая степень качественной аналогии. 40 1.15. Понятие о вычислительном технологическом эксперименте Под вычислительным технологическим экспериментом (ВТЭ) понимается такая организация исследований, при которой на основе математической модели проводится изучение технологических устройств и процессов с помощью ЭВМ, моделируется их поведение в различных условиях, находятся оптимальные технологические па- раметры и режимы действующих или проектируемых конструкций. Идеологической базой ВТЭ является математическое моделирование, методологической – теория вычислительных алгоритмов, техниче- ской – современные электронные вычислительные машины. Необходимость использования ВТЭ вызвана тем, что решение современных научно-технологических задач, отличающихся чрез- вычайно сложным математическим описанием, традиционными ме- тодами становится затруднительным, а в некоторых случаях вообще невозможным. В настоящее время в программу проведения круп- ных технологических экспериментов в обязательном порядке вклю- чается этап ВТЭ, позволяющий выполнить предварительное «про- считывание» для уточнения и коррекции плана проведения эксперимента и прогнозирования ожидаемых результатов. Причем ВТЭ позволяет провести исследования в достаточно широком диа- пазоне значений параметров процесса без модификации существу- ющих установок или разработки новых. Кроме того, при комплекс- ном взаимодействии многих физико-химических явлений и пара- метров ВТЭ позволяет рассматривать влияние каждого явления или параметра на технологический процесс в отдельности. Рассмотрим основные задачи ВТЭ, решаемые, например, при проектировании технологических процессов. Их условно делят на следующие четыре группы: – анализ технологических процессов; – синтез технологических процессов; – диагностика; – прогноз. При анализе технологического процесса ВТЭ используется для решения нижеприведенных основных задач. 1. Определение «диапазона устойчивого функционирования» технологического процесса, то есть такой области значений управ- 41 ляющих параметров, любые изменения которых в этой области не приводили бы к нарушению ограничений, наложенных на выход- ные параметры процесса. 2. Определение критических условий ведения технологического процесса. 3. Установление степени влияния технологических параметров на режимы ведения процесса и его выходные параметры. 4. Исследование влияния изменений технологических режимов процесса и конструкции технологической установки на показатели качества процесса. 5. Выявление важнейших точек технологической установки, в которых необходимо расположение датчиков для контроля основ- ных параметров процесса и управления. 6. Исследование характера поверхности отклика оптимизируе- мых при проектировании функций для обоснования выбора метода поиска экстремума. К группе задач синтеза технологических процессов можно отнести: 1) оптимизацию технологических режимов процесса для дей- ствующей технологической установки; 2) оптимизацию конструкционных параметров действующей технологической установки; 3) оптимизацию действующего технологического процесса путем одновременной оптимизации технологических режимов и конструк- ционных параметров действующей технологической установки; 4) проектирование оптимального технологического процесса. Из приведенных задач особую важность представляет последняя, так как в этом случае применение ВТЭ позволяет решать задачу значительно более общую, чем задача оптимизации действующего технологического процесса, идущего на уже существующей уста- новке. При проектировании нового процесса или совершенствова- нии имеющегося без ориентации на существующую базовую техно- логическую установку ВТЭ позволяет проектировать оптимальный технологический процесс путем одновременного решения следую- щих задач: – проектирование оптимальных технологических режимов про- цесса; – проектирование оптимальных конструкционных и временных параметров технологической установки; 42 – проектирование оптимальной системы управления процессом, включая систему датчиков. К задачам диагностики относятся: 1) определение характеристик надежности технологической установки и технологического процесса в целом; 2) диагностика правильности функционирования технологиче- ского процесса; 3) исследование устойчивости функционирования технологиче- ского процесса при наличии различного рода случайных воздей- ствий на процесс; 4) автоматизированное построение диагностической таблицы. В группу задач прогноза входят: 1) прогнозирование показателей качества технологического процесса; 2) оценка влияния предполагаемых технических достижений на показатели качества технологического процесса; 3) проектирование и исследование новых схем проведения про- цесса и новых технологических режимов. Приведенный перечень задач, естественно, является обобщенным. При проектировании конкретных технологических процессов часть из перечисленных задач может быть исключена или могут быть введены новые задачи. Для проектирования технологических процессов исключительно важное значение имеют и сопутствующие ВТЭ: по обработке дан- ных натурного эксперимента и по изучению свойств технологиче- ской среды. Первый из этих ВТЭ реализуется в ходе проверки адек- ватности используемых в основном ВТЭ моделей с результатами натурных экспериментов. Второй сопутствующий ВТЭ направлен на получение базы данных для основного ВТЭ, так как наличие ин- формации о параметрах технологической среды позволяет произво- дить поиск в достаточно широком интервале значений параметров процесса и оценивать влияние изменений, вносимых в технологиче- ский процесс, на показатели качества процесса. 43 1.16. Общая характеристика технологии создания программного обеспечения. Этапы разработки программного обеспечения К программно-инструментальным средствам в первую очередь относятся алгоритмические языки и соответствующие им трансля- торы, затем системы управления базами данных (СУБД) с языко- выми средствами программирования в их среде, электронные таб- лицы с соответствующими средствами их настройки и т. п. Рассмотрим этапы разработки программ (рис. 1.7). Рис. 1.7. Этапы разработки программного обеспечения Первый этап представляет собой постановку задачи. На этом этапе раскрывается сущность задачи, то есть формулируется цель ее решения; определяется взаимосвязь с другими задачами; указывает- ся периодичность решения; устанавливаются состав и формы пред- ставления входной, промежуточной и результатной информации. Особое внимание в процессе постановки задачи уделяется де- тальному описанию входной, выходной (результатной) и промежу- точной информации. Особенность реализации этого этапа технологического процесса заключается в том, что конечный пользователь разрабатываемой программы, хорошо знающий ее проблемную сторону, обычно хуже представляет специфику и возможности использования ЭВМ для решения задачи. В свою очередь, предметная область пользователя (особенно ее отдельные нюансы, способные оказать влияние на ре- шение задачи) зачастую незнакома разработчику программы, хотя 44 он знает возможности и ограничения на применение ЭВМ. Именно эти противоречия являются основной причиной возникновения ошибок при реализации данного этапа технологического процесса разработки программ, которые затем неизбежно отражаются и на последующих этапах. Отсюда вся важность и ответственность этого этапа, требующего осуществления корректной и полной постановки задачи, а также необходимости однозначного ее понимания как раз- работчиком программы, так и ее пользователем. Второй этап в технологии разработки программ – математиче- ское описание задачи и выбор метода ее решения. Наличие этого этапа обусловливается рядом причин, одна из которых вытекает из свойства неоднозначности естественного языка, на котором описы- вается постановка задачи. В связи с этим на нем выполняется фор- мализованное описание задачи, то есть устанавливаются и форму- лируются средствами языка математики логико-математические зависимости между исходными и результатными данными. Матема- тическое описание задачи обеспечивает ее однозначное понимание пользователем и разработчиком программы. Сложность и ответственность этапа математического описания задачи и выбора (разработки) соответствующего метода ее решения часто требуют привлечения квалифицированных специалистов об- ласти прикладной математики, обладающих знанием таких дисци- плин, как исследование операций, математическая статистика, вы- числительная математика и т. п. Третий этап технологического процесса подготовки решения за- дач ЭВМ представляет собой алгоритмизацию ее решения, то есть разработку оригинального или адаптацию (уточнение и корректи- ровку) уже известного алгоритма. Алгоритмизация – это сложный творческий процесс. В его осно- ву положено фундаментальное понятие математики и программи- рования – алгоритм – конечный набор правил, однозначно раскры- вающих содержание и последовательность выполнения операций для систематического решения определенного класса задач за ко- нечное число шагов. Любой алгоритм обладает следующими важными свойствами: детерминированностью, массовостью, результатностью и дискрет- ностью. 45 Детерминированность алгоритма (определенность, однознач- ность) – свойство, определяющее однозначность результата работы алгоритма при одних и тех же исходных данных. Это означает, что набор указаний алгоритма должен быть однозначно и точно понят любым исполнителем. Массовость алгоритма – свойство, определяющее пригодность использования алгоритма для решения множества задач данного класса. Оно предполагает возможность варьирования исходными данными в определенных пределах. Свойство массовости алгоритма является определяющим фактором, обеспечивающим экономическую эффективность решения задач на ЭВМ, так как для задач, решение которых осуществляется один раз, целесообразность использования ЭВМ, как правило, диктуется внеэкономическими категориями. Результатность алгоритма – свойство, означающее, что для любых допустимых исходных данных он должен через конечное число шагов (или итераций) завершить работу. Дискретность алгоритма – свойство, означающее возможность разбиения определенного алгоритмического процесса на отдельные элементарные действия. Таким образом, алгоритм дает возможность чисто механически решать любую задачу из некоторого класса однотипных задач. Составление (адаптация) программ (кодирование) является за- вершающим этапом технологического процесса разработки про- граммных средств. Он предшествует началу непосредственно машинной реализации алгоритма решения задачи. Процесс кодирова- ния заключается в переводе описания алгоритма на один из доступ- ных для ЭВМ языков программирования. В процессе составления программы для ЭВМ конкретизируются тип и структура используе- мых данных, а последовательность действий, реализующих алгоритм, отражается посредством конкретного языка программирования. Этапы тестирования и отладки функционально связаны между собой, хотя их цели несколько отличаются друг от друга. Тестиро- вание представляет собой совокупность действий, назначенных для демонстрации правильности работы программы в заданных диапа- зонах изменения внешних условий и режимов эксплуатации про- граммы. Цель тестирования заключается в демонстрации отсут- ствия (или выявлении) ошибок в разработанных программах на заранее подготовленном наборе контрольных примеров. 46 Процессу тестирования сопутствует понятие «отладка», которое подразумевает совокупность действий, направленных на устране- ние ошибок в программах, начиная с момента обнаружения фактов ошибочной работы программы и завершая устранением причин их возникновения. По своему характеру (причине возникновения) ошибки в про- граммах делятся на синтаксические и логические. Синтаксические ошибки в программе представляют собой некорректную запись отдельных языковых конструкций с точки зрения правил их представления для выбранного языка программи- рования. (Ошибки выявляются автоматически.) Далее проверяется логика работы программы на исходных данных. При этом возможны следующие формы проявления логических ошибок: – в какой-то момент программа не может продолжать работу (возникает программное прерывание, обычно сопровождающееся указанием места в программе, где оно произошло); – программа работает, но не выдает всех запланированных результатов и не выходит на остановку (происходит ее «зацик- ливание»); – программа выдает результаты и завершает свою работу, но они полностью или частично не совпадают с контрольными. После выявления логических ошибок и устранения причин их возникновения в программу вносятся соответствующие исправле- ния и отладка продолжается. Программа считается отлаженной, если она безошибочно вы- полняется на достаточно представительном наборе тестовых дан- ных, обеспечивающих проверку всех ее участков (ветвей). Процесс тестирования и отладки программ имеет итерационный характер и считается одним из наиболее трудоемких этапов процесса разработки программ. По оценкам специалистов, он может состав- лять от 30 до 50 % в общей структуре затрат времени на разработку проектов и зависит от объема и логической сложности разрабатыва- емых программных комплексов. Для сокращения затрат на проведение тестирования и отладки в настоящее время широко применяются специальные программные средства тестирования (например, генераторы тестовых данных) и приемы отладки (например, метод трассировки программ, позво- 47 ляющий выявлять, все ли ветви программы были задействованы при решении задачи с заданными наборами исходных данных). После завершения процесса тестирования и отладки программ- ные средства вместе с сопроводительной документацией передаются пользователю для эксплуатации. Основное назначение сопроводительной документации – обес- печить пользователя необходимыми инструктивными материалами по работе с программными средствами. Состав сопроводительной документации обычно оговаривается заказчиком (пользователем) и разработчиком на этапе подготовки технического задания на про- граммное средство. Как правило, это документы, регламентирующие работу пользователя в процессе эксплуатации программы, а также содержащие информацию о программе, необходимую в случае воз- никновения потребности внесения изменений и дополнений в нее. В процессе внедрения и эксплуатации прикладных программных средств могут выявляться различного рода ошибки, не обнаружен- ные разработчиком при тестировании и отладке программных средств. Поэтому при реализации достаточно сложных и ответ- ственных программных комплексов по согласованию пользователя (заказчика) с разработчиком этап эксплуатации программных средств может быть разбит на два подэтапа: экспериментальный (опытный) и промышленный. Смысл экспериментальной эксплуатации заключается во внед- рении разработанных программных средств на объекте заказчика с целью проверки их работоспособности и удобства работы пользо- вателей при решении реальных задач в течение достаточно дли- тельного периода времени (обычно не менее года) Только после завершения периода экспериментальной эксплуатации и устранения выявленных при этом ошибок и учета замечаний программное средство передается в промышленную эксплуатацию. Для повышения качества работ, оперативности исправления оши- бок, выявляемых в процессе эксплуатации программных средств, так- же выполнения различного рода модификаций, в которых может воз- никнуть необходимость в ходе эксплуатации, разработчик может по договоренности с пользователем осуществлять их сопровождение. 48 1.17. Современные методы разработки ПО: метод нисходящего проектирования, модульное проектирование, CASE-технологии Метод нисходящего проектирования (метод пошаговой детализации, метод иерархического проектирования, top-down- подход.) Суть метода заключается в определении спецификаций компонентов системы путем последовательного выделения в ее со- ставе отдельных составляющих и их постепенной детализации до уровня, обеспечивающего однозначное понимание того, что и как необходимо разрабатывать и реализовывать. Этот метод является незаменимым при разработке сложных по характеру и больших по объему программ, когда к их разработке необходимо привлекать большое число программистов, работаю- щих параллельно. Он позволяет концентрировать внимание разра- ботчиков на наиболее ответственных частях программы, а также облегчает возможность постоянного контроля за ее работоспособ- ностью по мере разработки, отладки и объединения отдельных со- ставляющих программ за счет организации непрерывности этого процесса в течение всей разработки. Для ускорения разработки программного комплекса часто вме- сто некоторых программ нижнего уровня, находящихся в процессе разработки, могут применяться специальные «программы-заглушки». Они требуются только на ранних стадиях разработки для того, что- бы не сдерживать общий ход создания программного комплекса. Суть «программы-заглушки» заключается в том, что при обраще- нии к ней в соответствии с заданным набором исходных тестовых данных она не формирует, а выбирает результат «решения» из зара- нее подготовленного набора. Благодаря этому обеспечивается воз- можность имитировать работу на ЭВМ реально создаваемой про- граммы, следовательно, осуществлять проверку работоспособности программ верхнего уровня еще до того, как будут разработаны и отлажены все составляющие программы нижнего уровня. Модульное проектирование. Реализация метода нисходящего проектирования тесно связана с другим понятием программирования – модульным проектированием, – так как на практике при декомпози- ции сложной программы возникает вопрос о разумном пределе ее 49 дробления на составные части. Вместе с тем понятие модульности нельзя сводить только к представлению сложных программных ком- плексов в виде набора отдельных функциональных блоков. Модуль – это последовательность логически взаимосвязанных фрагментов задачи, оформленных как отдельная часть программы. При этом программные модули должны обладать следующими свойствами: – на модуль можно ссылаться (то есть обращаться к нему) по имени, в том числе и из других модулей; – по завершении работы модуль должен возвращать управление тому модулю, который его вызывал; – модуль должен иметь один вход и выход; – модуль должен иметь небольшой размер, обеспечивающий его обозримость. При разработке сложных программ выделяют головной управ- ляющий модуль, подчиненные ему модули, обеспечивающие реали- зацию отдельных функций управления, функциональную обработку (то есть непосредственную реализацию основного назначения про- граммного комплекса), а также вспомогательные модули, обеспечи- вающие сервисное обслуживание пакета (например, сбор и анализ статистики работы программы, обработка различного рода ошибоч- ных ситуаций, обучение и выдача подсказок и т. п.). Модульный принцип разработки программ обладает следующи- ми преимуществами: – большую программу могут разрабатывать одновременно не- сколько исполнителей, и это позволяет сократить сроки ее разработки; – появляется возможность создавать и многократно использовать в дальнейшем библиотеки наиболее употребимых программ; – упрощается процедура загрузки больших программ в опера- тивную память, когда требуется ее сегментация; – возникает много естественных контрольных точек для наблю- дения за осуществлением хода разработки программ, а в последу- ющем – для контроля за ходом исполнения программ; – обеспечивается более эффективное тестирование программ, проще осуществляются проектирование и последующая отладка. Преимущества модульного принципа построения программ осо- бенно наглядно проявляются на этапе сопровождения и модификации 50 программных продуктов, позволяя значительно сократить затраты сил и средств на реализацию этого этапа. Структурное программирование. Актуальная для начального периода развития и использования ЭВМ проблема разработки про- грамм, занимающих минимум основной памяти и выполняющихся за кратчайшее время, в последующем в связи с резким падением стоимости аппаратной части ЭВМ, значительным возрастанием их быстродействия и объемов памяти сменилась необходимостью раз- работки и применения принципиально новых методов составления программ. Все это нашло свое воплощение в разработке принципа структурного программирования. Одной из целей структурного программирования было стремление облегчить разработку и отлад- ку программных модулей, а главное – их последующее сопровож- дение и модификацию. В настоящее время структурное программирование – это целая дисциплина, объединяющая несколько взаимосвязанных способов создания ясных, легких для понимания программ. Эффективность применения современных универсальных языков программирова- ния во многом определяется удобством написания с их помощью структурных программ. CASE-технологии. За последнее десятилетие в области средств автоматизации программирования сформировалось новое направ- ление под общим названием CASE-технологии. CASE-технология представляет собой совокупность средств си- стемного анализа, проектирования, разработки и сопровождения сложных программных систем, поддерживаемых комплексом взаи- мосвязанных инструментальных средств автоматизации всех этапов разработки программ. Благодаря структурным методам CASE- технология на стадиях анализа и проектирования обеспечивает раз- работчиков широкими возможностями для различного рода моде- лирования, а централизованное хранение всей необходимой для проектирования информации и контроль за целостностью данных гарантируют согласованность взаимодействия всех специалистов, занятых в разработке ПО. С самого начала CASE-технологии развивались с целью преодо- ления этих ограничений путем автоматизации процессов анализа 51 и интеграции поддерживающих средств. Они обладают достоин- ствами и возможностями, перечисленными ниже. 1. Единый графический язык. CASE-технологии обеспечивают всех участников проекта, вклю- чая заказчиков, единым строгим, наглядным и интуитивно понят- ным графическим языком, позволяющим получать обозримые ком- поненты с простой и ясной структурой. При этом программы представляются двумерными схемами (которые проще в использо- вании, чем многостраничные описания), позволяющими заказчику участвовать в процессе разработки, а разработчикам – общаться с экспертами предметной области, разделять деятельность систем- ных аналитиков, проектировщиков и программистов, облегчая им защиту проекта перед руководством, а также обеспечивая легкость сопровождения и внесения изменений в систему. 2. Единая БД проекта. Основа CASE-технологии – использование базы данных проекта (репозитория) для хранения всей информации о проекте, которая может разделяться между разработчиками в соответствии с их пра- вами доступа. Содержимое репозитория включает не только инфор- мационные объекты различных типов, но и отношения между их компонентами, а также правила использования или обработки этих компонентов. Репозиторий может хранить свыше 100 типов объек- тов: структурные диаграммы, определения экранов и меню, проекты отчетов, описания данных, логика обработки, модели данных, их ор- ганизации и обработки, исходные коды, элементы данных и т. п. 3. Интеграция средств. На основе репозитория осуществляется интеграция CASE- средств и разделение системной информации между разработчиками. При этом возможности репозитория обеспечивают несколько уров- ней интеграции: общий пользовательский интерфейс по всем сред- ствам, передачу данных между средствами, интеграцию этапов раз- работки через единую систему представления фаз жизненного цикла, передачу данных и средств между различными платформами. 4. Поддержка коллективной разработки и управления проектом. CASE-технология поддерживает групповую работу над проектом, обеспечивая возможность работы в сети, экспорт-импорт любых фрагментов проекта для их развития и / или модификации, а также планирование, контроль, руководство и взаимодействие, то есть функ- 52 ции, необходимые в процессе разработки и сопровождения проектов. Функции также реализуются на основе репозитория. В частности, че- рез репозиторий может осуществляться контроль безопасности (огра- ничения и привилегии доступа), контроль версий и изменений и др. 5. Макетирование. CASE-технология дает возможность быстро строить макеты (прототипы) будущей системы, что позволяет заказчику на ранних этапах разработки оценить, насколько она приемлема для будущих пользователей и устраивает его. 6. Генерация документации. Вся документация по проекту генерируется автоматически на базе репозитория (как правило, в соответствии с требованиями дей- ствующих стандартов). Несомненное достоинство CASE-техно- логии заключается в том, что документация всегда отвечает теку- щему состоянию дел, поскольку любые изменения в проекте автоматически отражаются в репозитории (известно, что при тради- ционных подходах к разработке ПО документация в лучшем случае запаздывает, а ряд модификаций вообще не находит в ней отражения). 7. Верификация проекта. CASE-технология обеспечивает автоматическую верификацию и контроль проекта на полноту и состоятельность на ранних этапах разработки, что влияет на успех разработки в целом: по статистиче- ским данным анализа пяти крупных проектов фирмы TRW (США), ошибки проектирования и кодирования составляют соответственно 64 и 32 % от общего числа ошибок, а ошибки проектирования в 100 раз труднее обнаружить на этапе сопровождения ПО, чем на этапе анализа требований. 8. Автоматическая генерация объектного кода. Генерация программ в машинном коде осуществляется на основе репозитория и позволяет автоматически построить до 85–90 % объектного кода или текстов на языках высокого уровня. 9. Сопровождение и реинжиниринг. Сопровождение системы в рамках CASE-технологии характери- зуется сопровождением проекта, а не программных кодов. Средства реинжиниринга и обратного инжиниринга позволяют создавать модель системы из ее кодов и интегрировать полученные модели в проект, автоматически обновлять документацию при изменении кодов и т. п. 53 2. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ ПРАКТИЧЕСКИХ ЗАНЯТИЙ Практическое занятие № 1 МЕТОДЫ И ПРОГРАММЫ ВИЗУАЛИЗАЦИИ РЕЗУЛЬТАТОВ МОДЕЛИРОВАНИЯ НАНОСТРУКТУР Цель работы: научиться визуализировать атомные системы, по- лученные в результате моделирования, и манипулировать изобра- жениями. Используемая программа: программа молекулярной графики RasMol. Теоретическая часть Предназначение и роль визуализации атомных систем Большую роль в познании человеком природы играет визуальное восприятие им окружающего мира. Какими бы большими не были возможности компьютеров, человек способен лучше, чем они, рас- познавать изображения и делать из этого выводы. Например, чело- век практически мгновенно может сделать заключение о наличии того или иного дефекта в кристаллическом материале по его изоб- ражению, тогда как компьютеру необходимо для этого провести сложные расчеты по определенному алгоритму, специально создан- ному для распознавания именно этого типа дефекта. Поэтому в атом- ном компьютерном моделировании структур и процессов в твердых телах широко используются методы и программы визуализации. Основной принцип визуализации очень прост. Если имеется не- которая система (кристалл или сложная молекула), состоящая из одного или нескольких типов атомов, координаты которых извест- ны, то эту систему можно отобразить на экране, изображая атомы в виде определенных геометрических тел (как правило, в виде сфер) в соответствии с их относительным расположением. При этом каж- дому типу атомов можно присвоить определенный цвет, можно изобразить связи между ними и т. д. Следует сказать, что современная 54 техника визуализации позволяет получать не только двумерное изображение на экране компьютера, но также трехмерные изобра- жения в специальных камерах. Первоначально программы визуализации были созданы для изоб- ражения сложных молекул. Одной из программ, предназначенных для этой цели, является программа RasMol, разработанная на кафедре биомолекулярных структур Эдинбургского университета (Великобри- тания). Официальный сайт (http://www.umass.edu/microbio/rasmol/ index2.htm) содержит информацию о правилах работы с програм- мой, дистрибутивы последних версий. Популярность этой программы и доступность кодов привела к тому, что на ее основе разработаны новые более функциональные средства визуализации структур (OpenRasmol, ProteinExplorer). В настоящее время имеется множе- ство подобных программ, большинство из которых свободно распро- страняется. Оказалось, что многие из них пригодны также для визуа- лизации кристаллов, поскольку последние являются большими молекулами. По набору выполняемых функций различные програм- мы близки друг к другу, поэтому, зная принципы визуализации на примере одной из них, легко научиться пользоваться остальными. В данной работе методы визуализации атомных структур изу- чаются на примере программы RasMol. Программа визуализации RasMol Запуск программы и окна. Программа RasMol считывает с опре- деленным образом записанного файла координаты атомов и создает их графическое изображение. Функционирует в режиме двух окон: графического и текстового (рис. 2.1). В графическом окне происхо- дит визуализация структур макромолекул, а в текстовое окно вво- дится управляющая информация, которая позволяет изменять мас- штаб рисунка, цвет, представление молекул, выделять группы атомов, остатков, белковых цепей. Управляющие данные вводятся в виде текстовых команд, описание которых приведено на странице помощи. Графическое окно по умолчанию имеет черный фон. В верхней части этого окна располагается панель меню, имеющая следующие раскрывающиеся меню: «Файл», «Правка», «Вид», «Цвет», «Опции», «Установки», «Экспорт» и «Справка». Кроме этого, основное окошко имеет две полосы прокрутки, которые 55 используются для поворота изображения вокруг вертикальной и горизонтальной осей. Команды могут быть введены с клавиатуры в текстовом окне, даже если активным является графическое. Это позволяет вводить команды и менять изображения без пере- ключения окон. Для чтения координатного файла можно пользо- ваться командой «Открыть» меню «Файл». Можно также открыть PDB-файл двойным нажатием на него. Рис. 2.1. Графическое и текстовое окна программы RasMol Манипуляции изображением. Вращение молекулы осуществляет- ся передвижением мыши при нажатой левой кнопке или при помо- щи полос прокрутки справа и внизу. Вращение в плоскости рисунка осуществляется при нажатой правой кнопке мыши с удер- жанием клавиши «Shift». Движение мыши при нажатой левой кноп- ке и удерживаемой клавише «Shift» изменяет масштаб изображения. 56 Левая кнопка Поворот X–Y Правая кнопка Перемещение X–Y Shift + левая кнопка Увеличение Shift + правая кнопка Поворот Z С помощью меню «Вид» можно выбрать форму представления изображения. Наиболее используемыми при визуализации кристаллов являются команды «Ван-дер-Ваальсов радиус» и «Атомы и связи». Первая команда заполняет окно атомами в соответствии с их радиусами. При использовании второй команды атомы представляются в виде сфер небольшого диаметра, с пустым пространством между ними. При этом если расстояние между двумя атомами меньше некоторого значения, между ними рисуется связь в виде прямолинейного отрезка. Использование команд. С помощью команд RasMol, вводимых в командном окне, можно выполнить значительно большее количе- ство манипуляций изображением, чем с использованием меню гра- фического окна и мыши. Команды вводятся с клавиатуры так же, как команды dos. При этом RasMol сохраняет предыдущие команды. Команда «Ctrl + P» вызывает из памяти предыдущую команду, а «Ctrl + N» – следующую. Эти команды позволяют выбрать фор- мат представления изображения и записать его в файл. Размеры и расстояния в RasMol могут быть заданы в ангстремах или единицах RasMol. Если значение какой-либо величины содер- жит десятичную точку, то оно считается заданным в ангстремах. Например, координаты, введенные в PDB-файле с использованием десятичной точки, имеют автоматически размерность ангстрема. Единица RasMol составляет 1/250-ю часть ангстрема. Любая вели- чина, заданная в виде целых чисел, воспринимается в этих единицах. Например, команда «spacefill 300» задает сферы радиусом 300 еди- ниц RasMol, то есть 1,2 Å. Команды программы RasMol: «Backbone Background Bond Car- toon Centre Clipboard Colour Connect CPK CPKnew Define Depth Dots Echo English Exit French HBonds Help Italian Label Load Mole- cule Monitor Pause Print Quit Refresh Renumber Reset Restrict Ribbons Rotate Save Script Select Set Show Slab Source Spacefill Spanish SSBonds Star Stereo Strands Structure Surface Trace Translate UnBond Wireframe Write Zap Zoom». 57 Рассмотрим наиболее используемые команды. Подробно о них и об остальных командах можно узнать из руководства к программе. Background. Формат: background < colour > (здесь и далее в угло- вые скобки заключаются выражения или слова, набираемые по вы- бору пользователя). Задает цвет фона в графическом окне. Можно выбрать цвет, набрав соответствующее английское название (в бри- танской транскрипции). Например, команда «background white» устанавливает белый фон. Цвет может быть выбран также заданием интенсивностей трех основных цветов: красного, зеленого и синего. Интенсивность каждого цвета может варьироваться от 0 до 255. Например, команда «background [255, 0, 0]» задает красный фон, а команда «background [100, 100, 100]» – серый фон (одинаковая интенсивность трех цветов дает различные градации серого цвета). Вместо «background» может быть использована также команда «set background < colour >», имеющая те же функции. Clipboard. Позволяет копировать изображение в графическом окне в буфер памяти компьютера, что делает возможным его пере- нос в другие приложения Windows. Colour. Формат: colour < colour >. Команда позволяет выбирать цвет представления выбранного типа атомов (о команде выбора атомов одного сорта «select» см. ниже). Цвета атомов выбираются так же, как для фона. Print. Позволяет напечатать изображение на принтере, исполь- зуемом операционной системой по умолчанию. Quit, Exit. Прекращают выполнение программы и закрывают оба окна. Rotate. Формат: rotate < axis > < value > позволяет поворачивать изображение вокруг выбранной оси на выбранный угол. Параметр < axis > может иметь значения «x», «y» и «z». Параметр < value > имеет целочисленное значение, равное углу поворота в градусах. 58 Script. Формат: script < filename >. Данная команда последова- тельно считывает и выполняет команды, записанные в текстовом файле с названием < filename >. Пользователь может заранее соста- вить и записать ряд команд, необходимых для приведения изобра- жения к конечному виду, который ему требуется, и выполнить все эти команды заданием одной команды «script». Синонимом коман- ды «script» является команда «source». Select. Формат: select < expression >. Позволяет выбирать опреде- ленные атомы в системе. Дальнейшие команды, определяющие, например, цвет, действуют только на выбранные атомы. Выражение < expression > может представлять, например, название элемента, атомы которого выбираются (Al, Cu и т. д.). Иногда типы атомов в PDB-файле определяются цифрами; тогда в < expression > исполь- зуется соответствующая цифра. Примеры: «select Al», «select 1». Spacefill. Формат: spacefill < expression >. Представляет выбран- ные атомы в виде сплошных сфер с размером, определяемым выра- жением < expression >. Если значение в этом выражении задано це- лым числом, единицей измерения является единица RasMol, равная 1/250-й части ангстрема. Если число задано с десятичной точкой, размер определяется в ангстремах. Размер атома не должен превы- шать 500 единиц (2,0 Å); при превышении этого значения программа выдает ошибку «Parameter value too large» («Значение параметра слишком велико») в командной строке. Wireframe. Формат: wireframe < value >. Представляет связи между атомами в виде цилиндров или линий с толщиной, задаваемой значением < value > в единицах RasMol (целое число) или ангстремах (с десятичной точкой). Цвет связей задается командой colour bonds < colour >. Изображение связей, как правило, является функцией, из- лишней для визуализации кристаллов, но важной для молекул. Полностью избежать изображения связей можно, только изменив масштабы в координатном файле, умножив координаты на одно и то же число так, чтобы все расстояния между атомами оказались доста- точно большими. Командами RasMol можно свести изображение свя- зей к минимуму, задав толщину связей равным 0 (при этом они изоб- ражаются тонкими линиями) и цвет, совпадающий с цветом фона. 59 Write. Формат: write {< format >} < filename >. Записывает изоб- ражение в одном из стандартных графических форматов, заданных выражением < format >, в файл с названием < filename >. Поддер- живаются многие распространенные графические форматы, как bmp, gif, ps, epsf, vectps (векторный пост-скрипт) и др. Zoom. Формат: zoom < value >. Изменяет увеличение изображения. Максимальное значение – 1562. Использование команд «zoom on» и «zoom off» позволяет устанавливать и отменять фиксированное увеличение. Цвет атома или связи может быть задан названием или в виде тройки чисел, задающих интенсивности красного, зеленого и синего (RGB). Предписанные названия цветов и их численные представления даны ниже. Cиний blue [0, 0, 256] Голубой cyan [0, 255, 255] Сине-зеленый greenblue [46, 139, 87] Оранжевый orange [255, 165, 0] Красный red [255, 0, 0] Фиолетовый violet [238, 130, 238] Желтый yellow [255, 255, 0] Черный black [0, 0, 0] Зеленый green [0, 255, 0] Малиновый magenta [255, 0, 255] Пурпурный purple [160, 32, 240] Красно-оранжевый redorange [255, 69, 0] Белый white [255, 255, 255] Цвета CPK. RasMol использует также цветовую схему «CPK», в которой атомы каждого элемента имеют свой цвет, используемый химиками. 60 Элемент Element Colour Triple Углерод Carbon light grey [200, 200, 200] Кислород Oxygen red [240, 0, 0] Водород Hydrogen white [255, 255, 255] Азот Nitrogen light blue [143, 143, 255] Сера Sulphur yellow [255, 200, 50] Фосфор Phosphorous orange [255, 165, 0] Хлор Chlorine green [0, 255, 0] Бром, цинк Bromine, zinc brown [165, 42, 42] Натрий Sodium blue [0, 0, 255] Железо Iron purple [160, 32, 240] Кальций, металл Calcium, metals dark grey [128, 128, 144] неизвестный unknown deep pink [255, 20, 147] Формат PDB-файлов Формат PDB был установлен Брукхавенской национальной ла- бораторией в США для архивирования структур молекул (The Pro- tein Data Bank). Структура файла содержит полную информацию о молекулах. Однако для визуализации кристаллов может быть ис- пользована значительно более простая структура файла. Есть два варианта упрощенной записи. Вариант 1. Запись с присвоением различным сортам атомов условных названий элементов. В нескольких первых строках файла записывается количество атомов в системе и другая дополнительная информация, не считы- ваемая программой (эти строки могут отсутствовать). Все последу- ющие строки содержат информацию об отдельных атомах (одна строка на каждый атом). Строка начинается с записи HETATM. Следующие пять позиций отводится для порядкового номера атома в файле, причем заполнены должны быть правые позиции. Затем, с пропуском двух позиций, печатается название элемента, присво- енное атому (для этого отводятся две позиции, заполняемые слева). Остается 15 пробелов, и печатаются три координаты атомов (на каждую отводятся восемь позиций, три на дробную часть, одна на десятичную точку, эти позиции заполняются справа). Пример за- полнения PDB-файла приведен ниже. 61 3 Samplesystem HETATM 1 H 0.025 72.181 0.880 HETATM 2 Cu 10.025 72.181 20.880 HETATM 3 O 0.025 72.181 4.400 Вариант 2. Запись с присвоением номеров различным сортам атомов. Аналогично первому случаю, в нескольких первых строках мо- гут быть записаны число атомов и другая дополнительная инфор- мация. Строки, содержащие информацию об атомах, имеют следу- ющий формат: 1–6 позиции – HETATM; 7–14 – номер атома (занимаются начиная справа); 24-я – тип атома; четыре пробела; три координаты по восемь позиций (три на дробную часть, одна на де- сятичную точку и четыре на целую часть). Пример такого формата файла приведен ниже. SamplePDBfile NumberofAtoms = 4 HETATM 1 1 15.693 72.181 0.880 HETATM 3 1 15.693 72.181 7.920 HETATM 4 2 15.693 72.181 11.440 Практическая часть Приведенные ниже упражнения рассчитаны на освоение основ- ных функций программы визуализации на примере просмотра не- скольких атомных систем, создаваемых вручную и с помощью про- грамм построения. Необходимые файлы приведены в папке «pract_1». Упражнение 1. Просмотр изображения готовой атомной си- стемы и манипуляция им. Запустить программу RasWin2.6 (файл «RasWin2.6.exe»). Открыть файл «Sample_1.pdb». Просмотреть содержимое, открыв в текстовом редакторе «Блокнот» или «WordPad». Рассмотреть изображение системы в режимах «Spacefill», «Ball&Stick». Рассмотреть его со всех сторон, используя манипуля- ции мышью. С помощью команд RasMol изменить цвет фона, 62 представления двух сортов атомов, размеры атомов и другие пара- метры изображения. Используйте команды «Background», «Colour», «Rotate», «Select», «Spacefill», «Write», «Zoom» и др. В одном из положений объекта визуализации сохранить изображение в графи- ческом формате и использовать для отчета. Упражнение 2. Создание PDB-файла для визуализации произ- вольной системы из двух типов атомов С помощью текстового редактора отредактировать файл Sample_2.pdb, набрав в нем в одном из двух форматов PDB строки для преставления системы из атомов двух или трех сортов, распо- ложив атомы так, чтобы они составили какую-либо геометрическую фигуру или изображение Вашего имени. Визуализировать эту си- стему и привести в отчете распечатку содержания PDB-файла и изображение системы. Упражнение 3. Визуализация сложной атомной системы. Открыть PDB-файлы, содержащие вакансию и дислокацию (Sample_vacancy.pdb, Sample_dislocation_1.pdb, Sample_disloca- tion_2.pdb). Визуализировать дефекты, изучить их и дать описание в отчете. В отчете привести рисунок объектов в наиболее выгодной перспективе. Требования к содержанию и оформлению отчета Отчет должен быть оформлен в виде файла Winword и содержать следующие элементы: – цель работы; – краткую теорию; – постановку задач; – рисунки визуализируемых объектов с пояснениями для каждого упражнения; – выводы. 63 Практическое занятие № 2 ОСНОВНЫЕ ПРИНЦИПЫ РАБОТЫ XMD Цель работы: ознакомиться с методом молекулярной динамики, принципами работы и назначением программы XMD. Используемая программа: программа XMD. Теоретическая часть Для нанотехнологий и наноматериалов наибольший интерес представляют модели, относящиеся к одному из глубочайших уровней описания структуры твердых тел, – атомному. В этих мо- делях материалы рассматриваются как классические системы взаи- модействующих атомов. Основными методами моделирования при этом являются методы молекулярной динамики (МД) – методы моделирования, которые основаны на расчете эволюции системы взаимодействующих частиц (атомов, молекул) путем интегрирова- ния уравнений их движения. Для того чтобы заниматься моделированием с помощью МД, в настоящее время нет необходимости самому разрабатывать про- граммы, поскольку существует большое множество как коммерче- ских, так и научных, свободно распространяемых программ. Из коммерческих следует отметить программу Materials Explorer, разработанную компанией Fujitsu. Эта программа, как большинство современных коммерческих программ, отличается хорошим интер- фейсом. Кроме того, в пакете имеется весьма богатая коллекция межатомных потенциалов, позволяющая моделировать широкий круг материалов. Однако быстродействие этой программы недоста- точно для моделирования больших систем. Наиболее гибкими являются некоммерческие научные программы с открытыми исход- ными кодами, в которые можно вводить изменения. Таковыми яв- ляются, в частности, программы для однопроцессорных компьюте- ров Dynamo, XMD и для параллельных кластеров Paradyn, LAMMPS, IMD и т. д. XMD представляет собой одну из программ, реализующих метод МД. Программа разработана Джоном Рифкиным (John Rifkin) 64 в университете штата Коннектикут (США). В ней могут быть ис- пользованы потенциалы метода внедренного атома, потенциал Тер- соффа – для кремния и углерода, а также потенциал Стиллингера- Вебера – для кремния. Эта программа распространяется свободно в исходных кодах. На ее веб-странице (http://xmd.sourceforge.net/ about.html) можно найти также компилированную программу (ис- полняемый модуль), которая легко запускается в командном окне Windows. Для работы программы требуется входной файл, состоя- щий из команд XMD. С помощью этого файла можно ввести исход- ные структуры, задать потенциал, а также режимы моделирования. В среде Windows программу XMD наиболее удобно использо- вать с помощью FAR Manager. Работа программы вызывается ко- мандой xmd с указанием названия командного файла, например, xmd xmd.in. Здесь и далее для определенности входной файл команд XMD будет называться xmd.in, хотя для этого может быть использовано любое название и расширение. Ниже будут приведены основные команды XMD, требуемые для проведения моделирования методом МД. Названия самих команд будут набраны прописными буквами, хотя в командном файле они могут быть набраны и строчными. Названия параметров, требуемых командами, будут набраны строчными буквами. Ввод основных параметров моделирования Для задания значения массы атомов используется команда mass mass, где mass – значение массы атомов в атомных единицах массы (например, при моделировании Ni используется команда MASS 27). Для задания шага по времени используется команда dtime dtime, где dtime – значение шага по времени в секундах. Например, ко- манда dtime 5.e-15 устанавливает шаг, равный 5 фс. Можно выбрать единицу измерения энергии, которая далее будет использована при любых вводах-выводах энергетических величин: eunit uname, где uname = erg, joule, K, eV. Чаще всего единица энер- гии вводится при чтении межатомного потенциала, который может быть табулирован в любой из этих единиц. Поэтому, как правило, команда eunit ставится в первой строке файла с таблицей потенциала. 65 Для чтения команд из любого другого текстового файла исполь- зуется команда read filename, где filename – название файла, содер- жащего набор команд. Удобно бывает выделять в отдельные файлы команды, вводящие потенциал взаимодействия и исходные коорди- наты атомов. Тогда в командном файле xmd.in будут команды чте- ния из этих файлов, например, read ni.ptf и read ni.in, где ni.ptf – файл, содержащий описание потенциала для никеля, а ni.in – файл, содержащий координаты атомов кристаллической решетки никеля. Для многих металлов доступны уже готовые таблицы потенциалов, тогда как исходные структуры чаще всего приходится создавать самим. Для описания исходной конфигурации используются коман- ды position или particle (они являются синонимами). Формат этой команды следующий. В первой строке задается position n, где n – число частиц. В последующих n строках вводятся типы и координаты всех частиц: первое число обозначает тип атома (если моделируется чистый металл, то цифра 1, если сплав двух элементов – то цифры 1 и 2), три следующие – координаты x, y, z атома в ангстремах. Например, следующие строки вводят исходную конфигурацию си- стемы из трех атомов: READ coord.in. Файл coord.in содержит следующую информацию. position 3 1 0.24E-01 0.76E+02 0.88E+00 1 0.52E-01 0.16E+02 0.11E+00 1 0.34E+00 0.76E+01 0.88E+01 Особенность программы XMD заключается в том, что все части- цы должны находиться в первом октанте системы координат. То есть, левый нижний угол расчетной ячейки всегда совпадает с началом координат. Для задания расчетной ячейки используется команда box xbox ybox zbox, где xbox ybox zbox определяют коорди- наты правого верхнего угла расчетной ячейки в ангстремах. Как правило, параметры расчетной ячейки рассчитываются при по- строении исходной структуры системы, поэтому их удобно записы- вать в одном файле с координатами атомов. Начальная температура системы задается командой ITEMP temp, где temp – значение температуры в кельвинах. Для поддержания температуры в процессе моделирования исполь- зуется команда clamp temp [cstep]. Значение temp задает требуемую 66 температуру. На каждом шаге МД скорости частиц умножаются на величину (temp/T)*(1/(2*cstep)), где T – мгновенная температура на данном шаге. По умолчанию границы расчетной ячейки при моделировании в XMD фиксированы. Для моделирования при постоянном давле- нии используется команда pressure clamp bulkmodulus [cstep]. При использовании этой моды стенки расчетной ячейки флуктуи- руют с амплитудой, обратно пропорциональной объемному модулю упругости bulkmodulus. Значение последнего задается в мегабарах (1 Мбар = 100 ГПа). Не обязательно его указывать точно, достаточ- но задать приближенное значение. Параметр cstep, который может отсутствовать, определяет, как быстро флуктуирует размер ячейки в ответ на внутреннее давление. Если с помощью этой команды ди- намические граничные условия включены, то можно задать внеш- нее давление командой pressure external pressure X [pressure Y pressure Z]. Можно задать только одно значение давления (МБар), тогда будет задано изотропное давление. Задав три значения, можно определить независимые давления вдоль трех осей координат. Команды, контролирующие процесс моделирования Процесс моделирования контролируется с помощью двух основ- ных команд: quench и cmd. Команда quench nstep [nquench] (закалка) совершает nstep шагов релаксации при абсолютном нуле для нахождения конфигурации с минимумом энергии. Параметр nquench задает способ отъема ки- нетической энергии при релаксации. При nquench = 1 (значение по умолчанию) скорости всех атомов полагаются равными нулю, если потенциальная энергия системы превышает значение в предыдущем шаге. При nquench = 2 зануляется скорость только той частицы, энергия которой увеличивается. Команда cmd nstep предписывает проведение nstep шагов МД. Условия МД описываются приведенными выше командами. При выполнении этих двух команд часто удобно сохранение промежуточных результатов или выполнение других действий или различное сочетание процессов МД и релаксации. В этих случаях используется цикл команд, который начинается командой repeat n и заканчивается командой end. Между этими командами может 67 располагаться любая последовательность команд, которая будет исполнена n раз. Например, цикл repeat 10 cmd 100 quench 200 end десять раз выполняет последовательность из 100 шагов МД и 200 ша- гов релаксации. Команды вывода данных XMD предоставляет богатый выбор возможностей вывода раз- личных величин в процессе моделирования. Ниже рассмотрим ос- новные из команд. Bsave nskip file. При моделировании с командой cmd указывает программе сохранять каждые nskip шагов в файле с названием file размеров расчетной ячейки. В каждой строке записываются четыре числа: номер шага и три размера ячейки по осям x, y, z. Использова- ние этой команды удобно для мониторинга размеров ячейки при моделировании с динамическими границами, то есть при постоян- ном давлении. Esave nskip file. Эта команда дает указание каждые nskip шагов МД или релаксации записывать в файл с названием file значений энергии. Сохраняется средняя энергия, приходящаяся на один атом системы в единице, установленной командой eunit. Каждый вывод осуществляется в одну строку, в которой записываются четыре числа: номер шага, полная энергия, потенциальная и кинетическая энергия. Команда write – наиболее универсальная команда для вывода информации при моделировании. Она имеет многочисленные оп- ции, указывающие выводимые величины и названия файлов, а так- же режимы вывода. Один из наиболее распространенных форматов этой команды приведен ниже. write file [+]filename quantity 68 Здесь quantity – название выводимой величины, которая будет записана в файл с названием filename. Перед названием файла мо- жет быть поставлен знак «+»; тогда запись будет производиться начиная с конца этого файла. В противном случае все содержимое файла будет заменено записываемой информацией. Рассмотрим некоторые важные значения опции ouantity. Ouantity = box. Команда write file filename box записывает раз- меры расчетной ячейки. Ouantity = eatom. Записывает номера и значения энергий всех атомов системы. Ouantity = stress. Произведения компонент тензора внутренних напряжений, усредненных по всем атомам системы, на атомный объем. Напряжение определяется делением этого произведения на атомный объем. Ouantity = particle. Записывает типы и координаты атомов си- стемы. Координаты выводятся в ангстремах. Удобна для сохране- ния релаксированной конфигурации системы, если используется режим моделирования quench. Ouantity = posvel. Сохраняет типы, координаты (в ангстремах) и скорости (в см/с) всех атомов системы. Команда удобна для со- хранения промежуточных или конечных состояний системы при ненулевых температурах, моделируемых командой cmd. В XMD предусмотрена также возможность сохранения всей те- кущей информации, с использованием которой моделирование мо- жет быть продолжено с прерванного места. Это делается с помо- щью команды write state file. Ранее сохраненное состояние системы считывается с помощью команды state file. В командном окне dos выполнение программы XMD может быть прервано нажатием кла- виш «Cntrl + C». При поступлении сигнала на прерывание прежде всего создается файл состояния системы на момент прерывания, которому дается название stop.sta. В дальнейшем моделирование может быть продолжено с этого шага. Команды write xmol [+]file и write pdb [+]file позволяют записы- вать координаты атомов в форматах XMOL и PDB, которые могут быть открыты программами визуализации, в частности, программой RasMol. 69 Требования к содержанию и оформлению отчета Отчет должен быть оформлен в виде файла Winword и содержать: – теорию (особенности программы XMD, основные команды программы и их назначение); – выводы. Практическое занятие № 3 МОДЕЛИРОВАНИЕ ПЛАВЛЕНИЯ МЕТАЛЛИЧЕСКИХ НАНОЧАСТИЦ И КЛАСТЕРОВ Цель работы: определить температуру плавления металличе- ских наночастиц и кластеров и сопоставить с температурой плавле- ния объемного кристалла. Используемые программы: – программа XMD; – программа создания расчетной ячейки для моделирования на- ночастиц и кластеров; – набор табулированных потенциалов для г. ц. к. металлов; – программа визуализации атомных структур RasMol; – программа построения графиков функций. Теоретичекская часть Наночастицы и кластеры Под кластерами и наночастицами понимаются частицы твердых тел, содержащие от нескольких до сотен атомов и тысячи и десятки тысяч атомов соответственно. Граница между наночастицами и кластерами условная. В наночастицах (размер их составляет вели- чину порядка 10 нм) число поверхностных атомов отличается от числа объемных лишь на порядок, а в кластерах эти числа сопоста- вимы, или даже все частицы могут быть отнесены к поверхностным. В дальнейшем наночастицы и кластеры будем объединять под об- щим названием малых частиц. Из-за большой доли поверхностных атомов физические свойства малых частиц существенно изменены по сравнению с массивными образцами. Отличие свойств малых частиц от свойств массивных 70 образцов уже используется в самых разнообразных технических приложениях. Например, порошки из малых частиц работают в ка- честве катализаторов несравненно лучше, чем массивные образцы из тех же материалов. Введение малых металлических частиц внутрь керамических материалов придает этим материалам (керме- там) уникальные механические свойства, из-за чего они использу- ются в авиационной и космической технике. Сильное влияние поверхности, существенное изменение элек- тронной структуры наночастиц приводят к существенным отличиям термодинамических свойств малых частиц от объемных кристаллов. К таким свойствам относится, например, температура плавления. Температура плавления объемных кристаллов от их размера не зависит. Однако когда размеры материала уменьшаются до нано- размерного уровня, температура плавления начинает зависеть от размера и уменьшается с ним. Уменьшение температуры плавления может составить несколько сотен градусов. Для большинства материалов изменение T начинается в области диаметра частиц 50 нм, ниже которого происходит резкое умень- шение температуры плавления (рис. 3.1). Рис. 3.1. Кривая зависимости нормированной температуры плавления золота от диаметра наночастиц D (Tb – температура плавления объемного кристалла) Радиальная функция распределения Важнейшей характеристикой атомной структуры конденсиро- ванных сред является радиальная функция распределения (РФР). 71 Она характеризует корреляцию в расположении частиц газа, жидко- сти или твердого тела и определяется нижеприведенным образом. Пусть система из N одинаковых атомов занимает объем V. Выбе- рем в нем два элемента объема dV1 и dV2, фиксируемые радиус- векторами 1R  и 2R  (рис. 3.2). Если взаимное расположение атомов хаотическое, то есть некоррелированное, то вероятность того, что атом 1 находится в элементе объема dV1, а атом 2 в то же время находится в элементе dV2, из-за независимости их положений равна V dV V dVRRdP 2121 ),(   . Рис. 3.2. К определению радиальной функции распределения По результатам компьютерного моделирования РФР можно рас- считать следующим образом. Положения всех атомов рассматривае- мой системы записывают в файл. Из атомов составляют всевозмож- ные пары и рассчитывают расстояния между частицами в парах. Промежуток расстояний от 0 до max ,R максимального рас- стояния, разделяющего пары, делится на малые интервалы 1( , ), 1, 2,..., .i iR R i K  Подсчитывается количество пар ,in расстоя- ние между которыми лежит в каждом из этих интервалов. Если полное число пар равно n, то среднее число пар, приходящихся на каждый интервал, будет равно / .n K Тогда отношение действи- тельного количества пар в интервале iin к среднему числу пар и будет представлять собой относительную вероятность того, что расстояния между парами атомов будут заключены в этом интервале: 0/ .i if p p Можно построить гистограмму этой функции, которая 72 и будет представлять собой приближение к РФР. Чем больше число атомов в системе и меньше отрезки, на которые разбивается область изменения расстояний, тем ближе будет эта гистограмма к непре- рывной функции ( ).g R Определение температуры плавления объемных материалов и наночастиц Ввиду большой роли поверхностных атомов, обладающих по- вышенной энергией, в наночастицах при нагреве возможно гетеро- генное зарождение жидкой фазы вблизи поверхности, особенно у вершин многогранников, которые образуют частицы. Поэтому фа- зовые переходы плавления и кристаллизации в малых частицах можно моделировать их непосредственным нагреванием или охла- ждением. Для того чтобы при нагревании образовался зародыш жидкой фазы, произошло плавление всего кристалла и установи- лось равновесие в жидкой фазе, необходимо достаточно длитель- ное, но вполне доступное в масштабах моделирования время. Например, для кластеров, содержащих до 1000 атомов, достаточно порядка 4104 шагов, чтобы происходило плавление. На основании результатов моделирования малых частиц при различных темпера- турах строится калорическая кривая. По скачку в калориметриче- ской кривой можно определить температуру плавления ( ).mT d Алгоритм моделирования приведен ниже. Строится исходная модель частицы с заданной формой и размером. Производится ре- лаксация (минимизация энергии) при Т = 0 К. Затем производится релаксация системы при разных постоянных значениях температуры. При температурах, далеких от температуры плавления, обычно бы- вает достаточной релаксация в интервале времени порядка 30–50 пс. После этого определяется полная энергия атомной системы, равная сумме потенциальной и кинетической энергий всех атомов, которая представляет собой внутреннюю энергию малой частицы. Проделав это для ряда значений температуры, строят калорическую кривую, анализ которой и позволяет найти температуру плавления. Пример такого исследования приведен на рис. 3.3, на котором изображены калорические кривые малых частиц золота, содержащих 219, 477, 879 атомов, и объемного кристалла (ввиду описанного выше 73 отличия плавления малых частиц и объемного кристалла, для по- следнего калориметрическая кривая определена другим способом). Рис. 3.3. Внутренняя энергия как функция температуры для малых частиц и объемного кристалла золота Практическая часть Задания 1. Для того чтобы получить компьютерную модель малой части- цы, воспользуйтесь программой построения nanocluster.exe. Постройте и сохраните малую частицу никеля с радиусом R = 1,5 нм. 2. Напишите список команд для достижения равновесного со- стояния системы при заданной температуре и определения внутрен- ней энергии при этой температуре. Внутреннюю энергию следует определять усреднением по достаточно большому числу временных шагов после достижения равновесия (оценить среднее значение можно, построив график зависимости от времени полной энергии в процессе моделирования). При температурах, заведомо более низ- ких или более высоких, чем точка плавления кристалла, количество временных шагов может быть маленьким, но в области температу- ры плавления следует взять как можно большее число шагов МД (не менее 30 тысяч). 3. Используя команду xmd write file filename RDF nbin rmin rmax, рассчитайте радиальную функцию распределения (РФР) для двух состояний малой частицы: твердой и жидкой. Эта команда рассчи- тывает и выводит в файл с названием filename число атомных пар 74 с расстоянием, заключенным в каждом из nbin подинтервалов, на которые делится интересующий нас отрезок расстояний между зна- чениями в ангстремах rmin и rmax, которые указывает пользова- тель. В указанный файл выводится следующая информация: на пер- вой строке печатаются слово RDF, значения nbin, rminrmax; на каждой из последующих строк печатаются значение расстояния, 1( ) / 2,k kR R  число пар kM и кумулятивная сумма чисел пар во всех интервалах от 1 до k. Для того чтобы рассчитать РФР по этим результатам, необходимо воспользоваться формулой 2 ( ) , 4π i i i i M Vg R M R R   где 2/)1(  NNM – число пар в системе; 34π / 3.V R 4. Для построенной модели малой частицы провести моделиро- вание для значений температуры Т = 400, 600, 800, 1000, 1200, 1350, 1400, 1600, 1800 и 2000 К. 5. Построить график зависимости внутренней энергии от темпе- ратуры (калорическую кривую) и по нему определить приблизи- тельное значение температуры плавления малой частицы. 6. Сопоставить полученное значение с температурой плавления объемного кристалла никеля, который составляет bT 1740 К. Требования к содержанию и оформлению отчета Отчет должен быть оформлен в виде файла Winword и содержать: – краткую теорию; – постановку задач; – командный файл с комментариями; – графики изменения полной внутренней энергии частиц при каж- дой температуре с числом шагов и равновесное значение энергии; – калорическую кривую и рассчитанное значение температуры плавления; – выводы. 75 Практическое занятие № 4 МОДЕЛИРОВАНИЕ НАНОКРИСТАЛЛИЗАЦИИ АМОРФНЫХ МЕТАЛЛОВ ПРИ ДЕФОРМАЦИИ Цель работы: изучить изменения атомной структуры аморфных металлов при деформации; выработать навыки самостоятельного изучения первоисточников по моделированию процессов нанотех- нологии, опубликованных в научных журналах на английском языке. Используемые программы: – программа XMD; – программа создания расчетной ячейки г. ц. к. кристалла; – набор табулированных потенциалов для г. ц. к. металлов; – программа визуализации атомных структур RasMol. Используемый источник: статья Lee B.-J., Lee C.S., Lee J.C. Stress induced crystallization of amorphous materials and mechanical properties of nanocrystalline materials: a molecular dynamics simulation study. – ActaMaterialia, 2003. – V. 51. – P. 62336240. Теоретическая часть Кристаллизация аморфных сплавов является одним из важных процессов нанотехнологии, поскольку она позволяет управлять их структурой на наноразмерном уровне. Этот процесс лежит в основе весьма распространенного метода получения нанокристаллов. При определенных условиях отжига, благоприятствующих образо- ванию центров кристаллизации, аморфные сплавы кристаллизуются с образованием нанокристаллов. Контролируя условия отжига, можно изменять размеры зерен от 2–3 до 100 нм и более. Ряд экспериментальных исследований показал, что нанокристал- лизация аморфных сплавов может быть активизирована путем пла- стической деформации. Имеются также данные молекулярно- динамического моделирования кристаллизации аморфных сплавов при деформации. Данная практическая работа по сути является повторением од- ной из таких работ. Для ее выполнения следует самостоятельно изучить статью используемого источника в оригинале. 76 Практическая часть В указанной работе изучается кристаллизация аморфного никеля при деформации растяжением и механизмы пластической деформа- ции образовавшегося нанокристалла. В качестве исходной структуры подготавливают образец аморф- ного никеля в виде пластинки размерами 8102 нм3 (в направлениях , ,x y z ). Для этого кристаллический никель выдерживают в течение нескольких десятков пикосекунд при температуре выше температу- ры плавления, затем система быстро охлаждается до температуры 300 К. Для моделирования деформации растяжением образец упру- го удлиняется на 1 % в направлении оси x, после чего проводится МД-релаксация в течение 10 пс при фиксированном новом размере образца в этом направлении. Растяжение моделируется повторением упругого удлинения и МД-релаксации. Скорость деформации, соот- ветствующая этой процедуре,   10–2/10–11 с = 109 с–1, очень велика по сравнению с экспериментально используемыми скоростями, что обусловлено недостатком МД – ограниченным интервалом време- ни, доступным для моделирования. Все расчеты проводятся при температуре Т = 300 К. При подготовке аморфного образца моделирование осуществ- ляется при периодических граничных условиях по всем трем направлениям; при моделировании деформации используются пе- риодические граничные условия в направлениях x и z, а в направле- нии y система имеет свободные поверхности и конечный размер, который может меняться в процессе деформации. Размер ячейки в направлении z фиксирован. Таким образом, моделируется ударная деформация растяжением аморфной тонкой пленки, бесконечно протяженной в направлениях осей x и z и имеющей толщину 10 нм по оси y, в направлении оси x в условиях плоской деформации. В работе использованы два потенциала, основанные на модифи- цированном методе погруженного атома, что позволило авторам определить влияние потенциала на процесс. Явление кристаллиза- ции наблюдалось в обоих случаях, но имелись количественные раз- личия, связанные с отличием потенциалов. Поскольку задача дан- ной лабораторной работы – качественное повторение результатов 77 используемого источника, будет использован один потенциал, по- строенный на простом методе погруженного атома. Задания Основываясь на приведенном выше изложении и изучении ори- гинальной статьи и используя подготовленные для выполнения ра- боты программы построения компьютерной модели идеального г. ц. к. кристалла, расчета РФР и примерные командные файлы для созда- ния модели аморфного металла и его деформации, самостоятельно проделать описанные исследования. Для моделирования процесса деформации рекомендуется вос- пользоваться командой SCALEabc, которая умножает на величины a, b и c соответственно x-, y- и z- координаты всех частиц и размеры расчетной ячейки в соответствующих направлениях. Для того что- бы растянуть аморфный «образец» вдоль оси x, а в других направ- лениях размеры оставить неизменными, можно положить a > 1, b = = c = 1. Составить цикл команд из 40 шагов, в каждом из которых образец растягивается на небольшую величину, после этого произ- водится МД-релаксация в течение не менее чем 2000 шагов так, чтобы общая деформация составила величину порядка 1,5. Требования к содержанию и оформлению отчета Отчет по практической работе должен подробно описывать все этапы исследования. 1. Построение модели аморфного металла, доказательства аморфного состояния полученной модели. 2. Моделирование деформации, полученные структуры при не- скольких значениях деформации. 3. Радиальные функции распределения образцов, подвергнутых деформации 40 % и статической выдержке. 4. Выводы из результатов исследования. 78 СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 1. Советов, Б. Я. Информационные технологии / Б. Я. Советов. – Москва: Высшая школа, 2003. – 263 с. 2. Шатунова, О. В. Информационные технологии : учебное посо- бие / О. В. Шатунова. – Елабуга: ЕГПУ, 2007. – 77 с. 3. Гусев, А. И. Нанокристаллические материалы / А. И. Гусев, А. А. Ремпель. – Москва: Физматлит, 2001. – 224 с. 4. Назаров, А. А. Атомистическое моделирование материалов, наноструктур и процессов нанотехнологии : учебное пособие для студентов-физиков / А. А Назаров, Р. Р. Мулюков. – Уфа: БашГУ, 2010. – 156 с. 5. Основы современных компьютерных технологий : учебное по- собие / под ред. А. Д. Хомоненко. – Санкт-Петерберг: Корона- Принт, 2002. – 448 с. 6. Орликов, Л. Н. Технология материалов и изделий электронной техники : учебное пособие / Л. Н. Орликов. – Томск: Тусур, 2006. – 364 с. 7. Семененко, М. Г. Введение в математическое моделирование / М. Г. Семененко. – Москва: Со-лон-Р, 2002. – 112 с. 8. Нано- и микросистемная техника. От исследований к разра- боткам : сборник статей / под ред. П. П. Мальцева. – Москва: Тех- носфера, 2005. – 582 с. 9. Яшин, К. Д. Системы автоматизированного проектирования МЭМС / К. Д. Яшин, Е. В. Лацапнев, В. С. Осипович // Информаци- онные технологии. – 2007. – № 11. – С. 22–28. 10. Зинченко, Л. А. Конспект лекций по блоку дисциплин «САПР наносистем» // Библиотека Наноинженерии. – Москва: МГТУ им. Н. Э. Баумана, 2008. – 30 с. 79 Учебное издание ЩЕРБАКОВА Елена Николаевна ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ НАНО- И МИКРОСИСТЕМНОЙ ТЕХНИКИ Учебно-методическое пособие для студентов специальности 1-38 01 04 «Микро- и наносистемная техника» Редактор Т. В. Грищенкова Компьютерная верстка Е. А. Беспанской Подписано в печать 19.10.2017.Формат 6084 1/8. Бумага офсетная. Ризография. Усл. печ. л. 4,59. Уч.-изд. л. 3,59. Тираж 100. Заказ 802. Издатель и полиграфическое исполнение: Белорусский национальный технический университет. Свидетельство о государственной регистрации издателя, изготовителя, распространителя печатных изданий № 1/173 от 12.02.2014. Пр. Независимости, 65. 220013, г. Минск.