Что такое моделирование производства и зачем оно нужно?
Время на прочтение
Если вы не специалист, то термин «виртуализация производственных процессов» кажется невероятно скучным. На самом деле это интереснейшее занятие на стыке физики и творчества. Без него все окружающие нас предметы, от мебели и гаджетов до транспорта и зданий не были бы столь технологичными, надежными и невероятными, какими являются сейчас. В этом посте мы расскажем неспециалистам о том, как наладить виртуальное производство на несуществующей фабрике, узнать предел прочности предмета, не ломая его, и как одна программа заменяет штат испытателей.
В Toshiba существует внутренняя награда, названная в честь одного из отцов-основателей компании Итисуке Фудзиоки (Ichisuke Fujioka Award), — она присуждается сотрудникам, внесшим особо важный вклад в развитие общества и улучшение жизни людей. Настолько важный, чтобы лауреата можно было назвать «японским Эдисоном». В 2019 году эту награду получил сотрудник Toshiba Corporate Manufacturing Engineering Center Ясутада Накагава (Yasutada Nakagawa) за разработку и внедрение в компании системы симуляции производственных процессов.
Симуляции, над которыми работает Накагава, позволяют точнейшим образом просчитать и визуализировать поведение материалов во время производства любых вещей, от портативной электроники до тяжёлых промышленных станков (и, например, паровых турбин). Симуляция позволяет заменить сотни и тысячи испытаний десятков прототипов, воссоздать абсолютно любые условия и нагрузки, причем с практически безошибочным результатом, очень быстро и, естественно, экономно — один мощный компьютер в состоянии заменить месяцы работы тестовой лаборатории.
Симуляция работы завода
Одна из сложных задач, с которыми сталкивается Toshiba во время проектирования нового завода — это просчёт его внутреннего устройства. Как расположить конвейер, станки и рабочие места, чтобы производство работало слаженно? Всегда есть риск недоглядеть и обнаружить, что зона работы манипулятора уже смонтированного робота буквально на сантиметр попадает на потолочное перекрытие или места рабочих расположены неудачно и тем приходится переносить в руках детали по неоптимальному маршруту.
Построить здание под свои нужды по собственным проектам гораздо проще, чем обустроить имеющееся помещение под себя, но не всегда есть экономический смысл возводить новый завод в чистом поле. Чтобы максимально эффективно адаптировать купленное здание, мы прибегаем к помощи виртуальной симуляции.
Выглядит это так: в специализированное ПО загружаются все используемые объекты, такие как элементы конвейера, станки, роботы, компьютеры, мебель — всё, что мы будем размещать. Затем создается трехмерная модель, для непосвященных со стороны похожая на обставленный дом в игре The Sims. На этом этапе можно посмотреть, нет ли конфликтов между предметами.
— Неверный расчет вентиляции/охлаждения. Для некоторых производств крайне важно, чтобы в цехе поддерживалась строго определенная температура и влажность, отклонения могут негативно влиять на свойства материалов, проходящих обработку. Не говоря уже о людях, для которых сильный сквозняк или непродуваемая перегретая зона в помещении будут весьма неполезны.
В идеальных условиях на бумаге проект может выглядеть гладко, но погодные аномалии или особенности помещения (нагревается на солнце, накапливает влагу) сведут на нет все расчёты. Ещё вариант: при проектировании системы кондиционирования инженеры могут опираться на её технические характеристики, но не учитывать, что длина и конфигурация магистрали влияет на её производительность, или, например, что готовая продукция, складированная до момента транспортировки на склад в определённом месте, создает помехи для правильной циркуляции воздуха.
Симуляция завода в программе поможет точно просчитать движение воздушных потоков и температуру в разных точках. Сотрудникам службы эксплуатации не придется выдумывать «костыли» для только что открытого цеха с перегревающимся оборудованием, если предварительно смоделировать напряженную работу завода.
— Дисбаланс нагрузки на электросеть. Моделирование силовой нагрузки позволяет увидеть потенциальные точки превышения допустимой нагрузки и тем самым равномерно распределить оборудование по резервным линиям.
— Неучёт особенностей здания. После заказа дорогостоящего оборудования для производства очень неприятным сюрпризом может стать факт, что оно не проходит через двери/коридоры помещения. Проверка того, что высокоточный станок не превратится в Винни-Пуха, торчащего из норы кролика, является неотъемлемой частью виртуальной симуляции производства.
Симуляция производства товара
Представьте, что вам нужно приготовить некое блюдо. Согласно задумке, в результате должен получиться кулинарный шедевр, ресторанный хит. Да вот проблема: вы лишь примерно знаете, как оно должно выглядеть, и ни точным рецептом, ни списком ингредиентов не располагаете — просто потому, что до вас его никто не готовил. Владея неким опытом, вы приступите к поискам идеальной рецептуры, проводя десятки экспериментов. Мало того, что вы наверняка не знаете, что нужно соединить, так ещё выясняется, что один ингредиент не выдерживает нагрева, второй лучше употреблять горячим, третий в сочетании с ними вообще меняет вкус, а четвертый удорожает блюдо в несколько раз, хотя все они вроде бы необходимы.
Благодаря МКЭ ещё на этапе моделирования можно обнаружить, например, слабые точки или места повышенного напряжения корпуса, в которых он сломается при ударе, можно вычислить возможные дефекты литья или обработки фрезой, чтобы не получить партию брака, подобрать оптимальные материалы, виды пластика, сорта сплавов. Такие программы, как ANSYS или Abaqus Unified FEA берут на себя расчеты испытаний прототипов — в общем, не обязательно (хотя и желательно) проводить реальные испытания. Уровень современного ПО для моделирования настолько высок, что в Европе можно успешно пройти сертификацию товара, который испытывался исключительно виртуально в компьютерной среде.
— Неправильный метод литья. Если необходимо работать с пластиковыми деталями, к их литью нужно подойти очень внимательно, потому что получить брак во время отливки проще простого. Нельзя просто взять несколько деталей и, поплотнее расположив их на литнике, отправить в производство. Расчет литья индивидуальной детали ещё более-менее будет правдоподобным, но, если в пресс-форме находятся несколько деталей сразу, индивидуальные моделирования будут бесполезны — сработает только полная симуляция для всей пресс-формы. В противном случае с большой вероятностью некоторые детали окажутся бракованными.
— Неверный расчёт нагрузок при сборке. Сборка предмета из нескольких деталей неизбежно создает напряжения в материалах из-за стягивания винтами и крепления на защелках. Даже если после сборки конструкция кажется очень надежной, со временем в точках повышенного напряжения могут возникнуть трещины. Почти каждый сможет вспомнить о каком-нибудь гаджете, корпус которого трескался просто от времени, даже если с ним обращались предельно бережно. Если речь не шла о низком качестве материалов, то с большой вероятностью инженеры неправильно рассчитали (если вообще рассчитали) напряжения в собранном устройстве. Цена недоработки: мелкие трещины, отломанные защелки, рассыпающаяся резьба в винтовых соединениях.
Куда хуже, когда проблемы обнаруживаются не в бытовой технике, а на транспорте. Первый реактивный пассажирский авиалайнер de Havilland Comet 1 имел конструктивный просчет, из-за которого при креплении квадратных иллюминаторов клёпкой образовывались микротрещины в зонах напряжения. Из-за них несколько лайнеров в начале 1950-х буквально развалились в воздухе, став причиной гибели экипажа и пассажиров. Конструктивный недостаток, вычислить который удалось только после длительных испытаниях корпуса самолете в бассейне с водой, привёл к приостановке полётов лайнеров и едва не стал причиной полного сворачивания программы Comet.
Симуляция эксплуатации товара
Хотите отыскать самые изощренные проблемы и баги своего продукта — выпустите его в открытый бета-тест. Редкая команда тестировщиков сможет выдумать те сценарии использования, с которыми продукт столкнется в реальной жизни. Но такая роскошь, как публичное тестирование, может быть доступна вдохновляющим стартапам, но никак не именитым большим компаниям, в чьём внимании к качеству клиенты не сомневаются — за попытку открытого «бета-теста» можно потерять не только имидж, но и долю капитализации. Поэтому современные пакеты симуляции необходимы ещё и для моделирования длительной эксплуатации товара в самых разных условиях. Статические и динамические нагрузки по всем осям, вибрации, удары, тепловое и акустическое воздействие — все эти расчеты необходимы, чтобы спустя пару недель после начала продаж разгневанные покупатели не открыли производителю глаза на какой-нибудь баг конструкции.
На Хабре опубликован интересный рассказ о том, как с помощью численного моделирования искали причины поломки виброжелоба шредера для металлолома. После подготовительных работы в виде тщательного создания модели шредера с учетом геометрии, механических характеристик материалов и условий нагружения, инженеры обнаружили резонансные колебания и конкретную точку, в которой происходит ударный контакт, разрушающий сварные швы. Можно было своими рукам исследовать работающий виброжелоб, страшно рискуя здоровьем и конечностями, и результат таких изысканий не был бы гарантирован. А можно подготовить данные для моделирования и быстро получить точнейшую модель работы шредера с локализацией проблемных точек.
— Ошибки дизайна. Если толщина корпуса предмета не достаточна, чтобы спокойно выдерживать удары, падения и даже продавливания, первым логичным способом укрепления конструкции является добавление скрытых ребер жесткости. Однако без повторного моделирования краш-теста нельзя пускать в производство обновленную версию детали — нередки случаи, когда ошибочные «улучшения» давали ровно противоположный эффект. Те же ребра жесткости поглощают кинетическую энергию не бесследно, а перераспределяют ее. Из-за них в детали может образоваться новая слабая точка, которой раньше не было. Поэтому после каждого внесения изменений в конструкцию необходимо проводить симуляцию нагрузок заново.
На YouTube немало видео о том, как легко согнуть и даже сломать iPhone 6 Plus, — это удаётся даже маленьким детям. В следующем iPhone 6S Apple изменила сплав без изменения конструкции смартфона, что полностью решило проблему
Бывшие пользователи смартфона HTC HD2, наверняка, вспомнят крайне спорное расположение шлейфа тачскрина, который размещался точно под кнопкой включения телефона — от постоянных надавливаний кнопкой шлейф повреждался и экран переставал реагировать на прикосновения. Эти проблемы можно было бы вычислить на длительном симулировании эксплуатации устройств — для проведения тестов реальных прототипов пришлось бы потратить месяцы, тогда как ПО справится с моделированием за день.
Наверняка, настоящие инженеры захотят значительно дополнить этот пост своим опытом и знаниями — мы всегда открыты к полезным комментариям. Надеемся, что этот материал помог далеким от проектирования людям приоткрыть завесу тайны над симуляцией производственных процессов.
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 24 апреля 2021 года; проверки требуют 9 правок.
Имитационное моделирование — это частный случай математического моделирования. Существует класс объектов, для которых по различным причинам не разработаны аналитические модели, создание аналитической модели принципиально невозможно, не разработаны методы решения полученной модели либо решения неустойчивы. В этом случае аналитическая модель заменяется имитатором или имитационной моделью.
В отличие от аналитического решения дифференциальных уравнений, в результате которых получается формула, чётко указывающая, какие параметры влияют на моделируемую систему и как эти параметры связаны друг с другом, в результате имитационного моделирования получается набор чисел, не позволяющий установить связь между параметрами.
Имитационная модель — логико-математическое описание объекта, которое может быть использовано для экспериментирования на компьютере в целях проектирования, анализа и оценки функционирования объекта.
Применение имитационного моделирования
К имитационному моделированию прибегают, когда:
Цель имитационного моделирования состоит в воспроизведении поведения исследуемой системы на основе результатов анализа наиболее существенных взаимосвязей между её элементами или разработке симулятора (англ. ) исследуемой предметной области для проведения различных экспериментов.
Виды имитационного моделирования
Три подхода имитационного моделирования
Подходы имитационного моделирования на шкале абстракции
Системы имитационного моделирования
«Квантовый мир: как устроен квантовый компьютер»
Задание 1. Принцип неопределённости Гейзенберга
Для перехода к следующему заданию все карточки должны быть перевернуты.
Задание 2. Языки и науки.
Криптография – Методы создания паролей и шифров, обеспечение конфиденциальности
Фармацевтика – Производство лекарственных средств и лекарственных веществ и проведение клинических испытаний
Компьютерное моделирование – Создание модели на компьютере приближенной к реальному объекту, например, создание модели автомобиля для проведения экспериментов
Машинное обучение – Создание моделей и алгоритмов, направленных на улучшения способностей компьютера
Симуляция процессов – Воспроизведение на компьютере процесса, который сложно показать в реальном мире. Например, прогнозирование погоды
Криптография, фармацевтика, машинное обучение и компьютерное моделирование сейчас являются наиболее развивающимися областями науки.
Задание 3. Задачи для квантового компьютера.
Задание 4. Будущее рядом.
Уже используют квантовые технологии:
Будут использовать квантовые технологии:
Задание 5. Принципы работы квантового компьютера.
Верные ответы:
1. Квантовый компьютер в качестве носителей информации использует квантовые объекты, для проведения вычислений они должны быть соединены в квантовую систему.
2. Для операций над кубитами используется система операций, называемая квантовыми вентилями.
3. Существуют универсальные наборы вентилей, с помощью которых можно выполнить любое квантовое вычисление.
4. Для получения результата работы квантового компьютера надо многократно запустить квантовый алгоритм на одном и том же входном наборе данных и усреднить результат.
Эмуляция DOS на эмуляторе DOSBox
Эмуляция компьютера стандарта MSX на эмуляторе MESS
Эмуля́ция (англ. ) в вычислительной технике — комплекс программных, аппаратных средств или их сочетание, предназначенное для копирования (или эмулирования) функций одной вычислительной системы (гостя) на другую, отличную от первой, вычислительную систему (хост) таким образом, чтобы эмулированное поведение как можно ближе соответствовало поведению оригинальной системы (гостя). Целью является максимально точное воспроизведение поведения в отличие от разных форм компьютерного моделирования, в которых имитируется поведение некоторой абстрактной модели. Например, моделирование урагана или химической реакции не является эмуляцией.
Эмуляция в вычислительной технике
Эмуляция связана с возможностью компьютерной программы в одном устройстве эмулировать (имитировать) другую программу или устройство. Например, многие принтеры разработаны таким образом, чтобы эмулировать принтеры HP Laserjet, так как для данных принтеров существует большое количество программного обеспечения. Если принтер, не произведенный HP, эмулирует принтер HP, тогда любая программа, разработанная для принтеров HP, сможет работать и с принтером другого производителя, получая при этом идентичную печать.
Аппаратная эмуляция представлена эмуляторами, выполненными в виде отдельного устройства. Например, DOS-совместимые карты расширения наподобие Centris 610 и Performa 630, устанавливавшиеся в некоторые Macintosh для обеспечения возможности запуска DOS-программ с ПК. Другим примером являются аппаратные эмуляторы на основе ППВМ.
Теоретически, согласно тезису Чёрча — Тьюринга, любая операционная среда может быть эмулирована на другой. Однако на практике зачастую это бывает крайне затруднительно ввиду того, что точное поведение эмулируемой системы не документировано и его возможно определить только посредством обратной разработки. В тезисе также не говорится о том, что если производительность эмуляции меньше, чем у оригинальной системы, то эмулируемое программное обеспечение будет работать существенно медленнее, нежели должно на оригинальном оборудовании, с возможным возникновением остановок эмуляции или неустойчивой производительностью.
Так как медиаискусство в основном создаётся в цифровом формате, эмуляция для него крайне важна как средство электронного архивирования. Такие деятели как, например, Cory Arcangel восстанавливают устаревшие технологии и используют их в своем творчестве, высоко оценивая важность децентрализованного и неофициального процесса сохранения цифровой культуры.
В большинстве существующих эмуляторов воспроизводится только аппаратное обеспечение. Таким образом, если требуется операционная система, хранящаяся в ПЗУ, или другое программное обеспечение, его следует получить дополнительно (впрочем, оно тоже может быть эмулировано). В дальнейшем и операционная система, и программное обеспечение будут интерпретированы эмулятором таким же образом, как и на изначальном оборудовании. Кроме интерпретатора эмулированных двоичных машинных кодов также должно эмулироваться и некоторое другое оборудование (например, вводные и выводные устройства). Например, если запись в определенную область памяти должна выводить что-то на экран, такое поведение также должно быть эмулировано.
В пределе эмулятор должен исходить из модели, созданной на основе параметров и особенностей оригинального схемотехнического решения, включающего виртуальный источник питания, но на практике это было бы исключительным решением. Как правило, эмуляторы отталкиваются от модели, построенной на имеющейся документации и логической схеме устройства. Для эмуляции некоторых систем важным оказывается высокая точность эмуляции вплоть до тактовой частоты отдельных элементов, недокументированных функций, непредсказуемых аналоговых компонентов и допущенных ошибок. Особенно это важно при реализации эмуляторов классических домашних компьютеров типа Commodore 64, программы для которых часто пользуются утонченными низкоуровневыми приемами программирования, разработанными создателями игры и демосценой.
Наоборот, некоторые другие устройства имели очень ограниченный прямой доступ к оборудованию. В подобных случаях может быть достаточно простого слоя совместимости. Системные запросы эмулируемой программы транслируются в системные запросы хоста, то есть в системах FreeBSD, NetBSD и OpenBSD для запуска Linux-приложений с закрытым кодом используется слой совместимости с Linux. Например, графический процессор Nintendo 64 был полностью программируемым, и большинство разработчиков игр использовало заложенные заводские программы, которые были самодостаточными и обменивались информацией с игрой через буфер FIFO. Поэтому многие эмуляторы вообще не эмулируют графический процессор, интерпретируя вместо этого команды центрального процессора так же как и оригинальная программа.
Разработчики программ для встраиваемых систем и игровых приставок часто создают свои продукты на особо точных эмуляторах, называемых симуляторами, перед запуском на физическом оборудовании. Это делается для возможности создания и тестирования до запуска в производство окончательной ревизии оборудования, а также для возможности быстрой отладки программы без затрат времени на копирование и внесение побочных эффектов отладчика. Во многих случаях симулятор создается и предоставляется изготовителем оборудования, что теоретически должно повышать его точность.
Эмуляция математического сопроцессора применяется для запуска программ, скомпилированных с использованием математических инструкций, на машинах без установленного сопроцессора, на которых дополнительная нагрузка на центральный процессор может негативно сказаться на производительности. Если сопроцессор не установлен и не встроен в центральный процессор, при выполнении математической инструкции будет вызвано прерывание (отсутствие сопроцессора), запускающее подпрограмму математического эмулятора. После успешного выполнения инструкции управление возвращается программе.
Структурный состав эмулятора
Как правило эмулятор состоит из нескольких модулей, каждый из которых соответствует отдельной эмулируемой подсистеме оригинального устройства. В наиболее общем случае эмулятор состоит из следующих блоков:
Системные шины в целях упрощения эмуляции и увеличения производительности, как правило, не эмулируются. Вместо этого виртуальная периферия обращается непосредственно к процессору или подсистеме памяти.
При эмуляции вполне возможно отобразить всю подсистему памяти в виде простого массива, каждый элемент которого имеет размер эмулированного слова. Однако этот подход обречен на неудачу, потому что в этом случае никакой логический адрес памяти не будет совпадать с физической памятью. Наиболее ярко это проявляется в случае, когда оригинальное оборудование обладает продвинутым управлением памятью (в этом случае в модуле подсистемы памяти должна быть реализована логика MMU либо как отдельный модуль, либо как часть виртуального CPU).
Однако даже если эмулируемое устройство не содержит MMU, существуют и другие факторы, нарушающие эквивалентность логической и физической памяти: многие (если не все) архитектуры обладают отображаемыми в ОЗУ портами ввода-вывода; даже те, которые ими не обладают, имеют блоки памяти, отображаемые в ПЗУ. Это значит, что представление памяти в виде массива не должно применяться, если требуется эмулировать ПЗУ. Функции типа переключения банков или сегментной адресации также могут усложнить эмуляцию памяти.
В результате большинство эмуляторов имеет по меньшей мере две процедуры — для чтения из памяти и для записи в память, — которые ответственны за доступ к правильной области правильного объекта.
Для эмуляции систем с ограниченной адресацией, где адреса памяти с 0 по (размер ПЗУ) — 1 доступны только для чтения, а все остальные принадлежат ОЗУ, что-то подобное следующему является вполне типичным.
Как правило, модуль CPU — самая сложная часть эмулятора. Во многих эмуляторах используются предварительно «подготовленные» модули CPU, чтобы сосредоточиться на качественной и эффективной эмуляции.
Интерпретатор — простейшая форма эмуляции CPU. Это — программа, которая следует за потоком выполнения программы и для каждой встречающейся машинной инструкции выполняет операции, семантически эквивалентные оригинальным инструкциям, на процессоре хоста. Это возможно назначением переменных для каждого регистра и флага эмулируемого CPU. Логика работы эмулированного CPU может быть с большей или меньшей сложностью реализована в алгоритме программы, создавая программную реализацию, которая в большей или меньшей степени отражает оригинальное оборудование.
Следующий пример показывает, как с помощью интерпретатора можно осуществить эмуляцию CPU. В данном примере опрос прерываний происходит перед выполнением инструкции, однако из-за низкой производительности этот способ редко используется в существующих эмуляторах (в целом быстрее использовать подпрограмму, выполняющую роль прерывания).
* Handling of every valid instruction
Интерпретаторы весьма популярны для моделирования вычислительных машин, так как их реализация намного проще, нежели выигрывающие в производительности другие решения, так как скорость их работы зачастую достаточна для эмуляции компьютеров, которые в буквальном смысле на десяток лет старше современных машин.
Однако применение интерпретации с присущим ей снижением производительности может быть проблемой, когда требуется эмулировать компьютер с процессором, производительность которого соответствует порядку величины производительности процессора хоста. До недавнего времени эмуляция в подобных случаях многими считалась бесполезной.
Преодолеть эти ограничения помог прогресс в технике динамической компиляции. Простая трансляция эмулированного программного кода в код, выполнимый на архитектуре хоста, невозможна априори по нескольким причинам:
Чтобы обойти эти проблемы применяют разнообразные приемы, включая известную «компиляцию на лету». Компилятор ожидает, пока поток управления процессором не перейдет в область, содержащую нетранслированный код. Только тогда («на лету») происходит трансляция блока кода в код, который может быть выполнен. Обработанный код помещается в кэш кода, при этом оригинальный код не подвергается изменению. В таком случае даже блоки данных подвергнутся бессмысленной трансляции компилятором, единственным эффектом чего будет увеличение времени работы транслятора.
В некоторых случаях, например при запуске старых игр, высокая скорость эмуляции может быть нежелательной, так как игры создавались без оглядки на производительность компьютеров будущего. В игре, разработанной для ПК с CPU 30 MHz, игроку может отводиться 300 игровых секунд на игровой уровень, в случае запуска той же игры на ПК с CPU 300 MHz игроку эти 300 игровых секунд будут соответствовать 30 реальным секундам. Другие программы, например некоторые программы для DOS, вообще не смогут запуститься на быстром компьютере. Практически, если эмулируется система, являвшаяся «чёрным ящиком», изменения в ядре которого не ожидались, программы могут зависеть от некоторых специфических параметров оборудования (например, частоты CPU). Таким образом, для правильной эмуляции подобных приложений требуется очень точное управление скоростью эмуляции.
Ввод и вывод
Как уже было отмечено, системные шины эмулируются редко. Каждое устройство ввода-вывода рассматривается отдельно, потому как в эмуляторе отсутствует реализация какого-либо универсального интерфейса. Так как каждое устройство ввода-вывода может быть идеально подогнано к параметрам эмулированного устройства, это даёт выигрыш в производительности. Однако решения на основе стандартизованных, унифицированных API всё же могут составить конкуренцию упрощённым моделям в случае их грамотной, искусной реализации. Дополнительным преимуществом будет «автоматически» получаемая служба плагинов, через которую с эмулятором смогут работать сторонние виртуальные устройства. В унифицированных API ввода-вывода необязательно повторять полную структуру шины: её схемотехника ограничена несколькими электронными компонентами, таким образом, в программной реализации необязательно наличие системы разрешения конфликтов параллельных вычислений.
Даже в эмуляторах, рассматривающих отдельно каждое устройство, как правило присутствует следующая виртуальная инфраструктура:
Моделирование логических схем
Моделирование логических схем — применение особого программного обеспечения с целью предсказать поведение цифровой схемы и языков описания аппаратуры. Моделирование может выполняться на различных уровнях физических абстракций: уровень транзисторов, уровень логических элементов, уровень регистровых передач или функциональный уровень. Моделирование осуществляется после разработки схемы в виде логических уравнений и до начала её физического производства.
Функциональное моделирование — использование компьютерной программы для моделирования выполнения другой компьютерной программы, написанной на языке ассемблера или в исходных кодах, а не в виде двоичного машинного кода. С помощью функционального моделирования программист может выпускать и анализировать работу выбранного участка кода для обнаружения ошибок (багов), не прибегая к получению двоичного кода. Этим оно отличается от выполнения бинарного кода, что является эмуляцией.
Первое применение функционального моделирования осуществлено компанией Autonetics около 1960 года для тестирования программ на языке ассемблера, которые впоследствии должны были выполняться на военной машине D-17B. Это позволило писать, выполнять и тестировать полетное программное обеспечение до физического изготовления вычислительного оборудования D-17B. Эта же компания позднее применяла функциональное моделирование для тестирования полетного программного обеспечения, которое должно было выполняться на машине D-37C.
Эмуляция игровой приставки
Эмулятор игровой приставки — это программа, которая позволяет на персональном компьютере или игровой приставке эмулировать другую приставку. Чаще всего их используют для запуска старых игр на ПК или более современных приставках. Также эмуляторы используют для создания любительского перевода игр, модификаций игр, а также для разработки такого пользовательского контента как демоверсии и новые игры для старых систем. В распространении этого вида эмуляции большую роль сыграл интернет, так как большая часть (если не все) эмуляторов не доступна в точках розничных продаж. Некоторые из эмуляторов, выпущенные в последние два десятилетия: Dolphin, ZSNES, MAME, DeSmuME, ePSXe, Gens, VisualBoyAdvance, Jnes и Nestopia.
Эмулятор терминала — это программа для современного ПК или другого устройства, позволяющая получить интерактивный доступ к операционной системе мейнфрейма или другой системе хоста, например HP-UX или OpenVMS. Уже длительное время терминалы наподобие IBM 3270 и VT100 не производятся. Вместо этого используется программа, запускаемая на современной операционной системе, которая имитирует «глупый» терминал и способна отображать графические и текстовые элементы приложения хоста, отправлять клавиатурный ввод и обрабатывать команды через соответствующий протокол терминала. Некоторые из таких эмуляторов включают приложения для Attachmate Reflection, IBM Personal Communications, AlphaVM virtual machine от EmuVM, Stromasys CHARON-VAX/AXP и Micro Focus Rumba.
Бизнес-симуляция — интерактивная модель экономической системы, которая по своим внутренним условиям максимально приближена к соответствующей реальной экономической единице (подразделение предприятия, предприятие, отрасль, государство).
Интерактивный характер бизнес-симуляций предоставляет широкие возможности участникам получать и развивать свои первичные навыки и компетенции по управлению компанией: построение стратегий, решение тактических и операционных заданий — то есть научиться делать всё то, что можно усвоить только в практической деятельности.
Бизнес-симуляция широко используется как метод обучения в системе образования западного образца, в частности в университетах и в бизнес-школах, не только для обучения студентов, но и для обучения руководителей.
Бизнес-симуляции подразделяются на компьютерные, настольные и деловые игры. В настольных бизнес-симуляциях ключевые процессы, принимаемые решения и процедуры отображаются на специально разрабатываемых игровых полях и прочих бланках и карточках. Компьютерная бизнес-симуляция — это интерактивная игра, в которой анализ принятых решений производит компьютерная программа моделирующая реалии бизнеса. Деловые игры часто строятся по принципу города или дороги, двигаясь по которым необходимо достигать поставленные задачи и демонстрировать соответствующие навыки.
MONIAC, выставленный в Резервном банке Новой Зеландии
На протяжении длительного периода основной задачей моделирования было прогнозирование экономических показателей. Но в последнее время моделирование стало инструментом, с помощью которого появилась возможность понять проблемы и перспективы отдельного субъекта хозяйствования или даже целого сектора экономики. Моделирование, как инструмент понимания, стало широко использоваться в бизнес — симуляциях. Ларсен и Ломи отметили, что акцент в компьютерных имитационных моделях сместился:
В конце 1990-х годов, среди западных компаний приобрело распространение проектирование и настройка бизнес-симуляций для расширения своих корпоративных программ развития лидерства. Деловые игры часто нацелены на выработку стратегии и развитие деловой хватки. Такие бизнес-симуляции позволяют участникам проверять свои навыки и компетенции в принятии решений, совершать ошибки, исправлять их и делать соответствующие выводы.
В бизнес-симуляции сценарий развивается в искусственно созданной среде, и участнику предлагается сделать индивидуальное или командное обоснованное решение о том, как действовать в конкретной ситуации. Чаще всего существует несколько альтернатив, при этом выбор является составляющим элементом так называемого «дерева решений», на основании которого принимаются решения. В течение учебного процесса через определённые промежутки времени обеспечивается обратная связь.
Математическое моделирование в бизнес-симуляциях
Бизнес-симуляция с точки зрения математики — это модель, которая имеет свои входные и исходные данные. Входными данными для математической модели симуляции являются решения участников, которые имеют цифровое выражение. А исходными — результат обработки этих решений специальными алгоритмами, которые имитируют реальные экономические процессы.
Моделирование экономических процессов в бизнес-симуляциях может охватывать как глобальный уровень, так и уровень предприятия или даже его отдельные структурные подразделения.
Для упрощения интерактивной связи между математической моделью и участником создаётся специальный графический интерфейс, который на интуитивном уровне обеспечивает понимание исходных данных модели, а также структуры логических процессов.
Использование бизнес-симуляций в обучении
Бизнес-симуляции в наше время широко используются в учебных целях. Свидетельством этого является включение их в учебный процесс многих высших учебных заведений, проведение в рамках масштабных обучающих конференций, интеграция в модульные программы развития.
Возможность использования бизнес-симуляций в обучении тесно связано с появлением в западной педагогике концепции «experiential learning», что переводится как обучение действием или обучение практикой.
Бизнес-симуляция является одной из самых эффективных образовательных технологий, поскольку позволяют участникам получать навыки, компетенции и практический опыт в процессе обучения. Именно поэтому они широко используются в учебном процессе многих университетов и бизнес-школ мира.
Имитационные игры на основе бизнес-симуляций имеют ряд преимуществ:
В настоящее время предложение бизнес-симуляций выглядит следующим образом:
Отличия бизнес-симуляций от тренингов
* По методологии BIRC