Математические пакеты и проблема передачи знаний

д.т.н. Очков В.Ф., к.т.н. Яньков Г.Г.

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

Любые преобразования, как правило, сопровождаются кризисами различной глубины и различной степени болезненности выхода из них. Если говорить о компьютерных информационных технологиях, то в этой области сегодня наблюдается кризис, который условно называют «кошмаром унаследованного программного обеспечения».

Представим себе некую фирму, корпорацию или университет, которые за 30 – 40 лет интенсивного использования компьютеров разработали и накопили большое количество программ различной степени сложности для расчета и моделирования разнообразных процессов, аппаратов и технологии в тех или иных областях науки и техники, а также для создания и управления базами данных (знаний). На смену морально и физически устаревшим компьютерам приходят новые с новыми операционными системами. Компьютеры объединяются в локальные сети, которые, в свою очередь, не остаются в стороне от процесса «глобализации» – интегрируются в интернет. Модернизация компьютерного парка часто приводит к тому, что старые прикладные программы перестают запускаться на новых или обновленных компьютерах – рабочих станциях и серверах. Иногда просто невозможно считать программу с носителей (перфокарт, перфолент, дискет различного диаметра и др.), т.к. новые компьютеры не имеют соответствующих считывающих устройств[1]. Приходится либо отказываться от таких программ, либо тратить время и средства на создание или приобретение неких утилит (эмуляторов) для запуска старых программ на новых или обновленных компьютерах. Но это еще полбеды. Настоящая беда состоит в том, что из «фирм, корпораций, университетов» уходят специалисты, которые создавали эти программы, а пришедшая им на смену молодежь не может модернизировать эти программы, адаптировать их к новым требованиям. Виной тому и недостаточное документирование кодов, и отсутствие соответствующих инструментальных программных средств и просто невозможность правильно прочесть программу (код), написанную на устаревших (мертвых) языках программирования. Если же все-таки с большим трудом удается воссоздать или модернизировать старую программу, используя старые или даже новые языки программирования, генерирующие коды, понятные только программистам, то «кошмар унаследованного программного обеспечения» через некоторое время всплывет вновь.

Еще одна проблема заключается в следующем.

В научных статьях, монографиях, учебниках и учебных пособиях всегда публикуются формулы, таблицы, графики, рисунки… В настоящее время этот «иллюстративный материал»[2] готовится также с помощью компьютера. Для ввода формул в электронный текст созданы специальные компьютерные редакторы – Word Equation, LaTeX и др. Но формулы, введенные в текст с помощью компьютерных редакторов, остаются «мертвыми», так как ими можно воспользоваться, только взяв в руки калькулятор или написав программу для компьютера. Сами по себе формулы, увы, ничего не рассчитывают. Как известно, если на сцене висит ружье, то оно должно выстрелить – если в тексте есть формула, то она должна «считать»! В «мертвых» формулах нередко «сидят» ошибки. Авторы настоящей статьи собрали довольно большую коллекцию опечаток в справочниках весьма солидных отечественных и зарубежных издательств. Так например, вместо 0,02387 напечатано 0,02387 (двойка перестала быть нижним индексом, отмечающим повторяющиеся нули), а вместо 27.39 – напечатано 72.93 (типичная ошибка наборщиков) и т.п.[3] Такие ошибки практически невозможно выявить при традиционной правке корректур «бумажных» справочников, которые часто, но далеко не всегда выходят со списком опечаток[4]. Тем не менее, ошибки остаются ошибками со всеми вытекающими негативными последствиями «в историческом процессе передачи знаний от человека к человеку, от поколения к поколению».

В данной работе обсуждается технологии, позволяющие в ряде случаев преодолеть перечисленные трудности.

Историю использования компьютеров для научно-технических расчетов условно можно разбить на три этапа:

         работа с машинными кодами;

         программирование на языках высокого уровня (алгол, фортран, Паскаль, C, BASIC и т.д.);

         использование математических пакетов типа Mathcad, Maple, Matlab, Mathematica, MuPAD, Derive и др.[5].

Четких границ между перечисленными этапами (информационными технологиями) не существует. Работая в среде математической программы можно при необходимости вставить в расчет электронную таблицу или собственные функции, написанные на языке C, в код которых вкраплены фрагменты ассемблера. Машинные коды, кстати, остались в программируемых калькуляторах, которые по-прежнему широко используются в научно-технических расчетах. Здесь скорее следует говорить не об изолированных этапах развития компьютерных средств решения задач, а о расширении и переплетении спектра инструментальных средств, о некой тенденции, которая, в частности, привела к резкому сокращению времени создания и реализации на компьютере расчетных методик и математических моделей, к исключению программиста как дополнительного звена между исследователем и компьютером, к повышению открытости самих расчетов, к возможности видеть не только результат, но и все формулы в традиционном их написании, а также все промежуточные данные, подкрепленные графиками и диаграммами.

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

Нельзя не отметить еще один важный аспект проблемы «человек–компьютер». Языки программирования высокого уровня (и, к слову говоря, высокой сложности) не терпят «дилетантства» со стороны исследователя. Из-за трудности в освоении языков программирования многие специалисты в конкретных областях знания (физика, химия, биология, машиностроение и т.д.), а также студенты и школьники не могли эффективно использовать компьютер. Программирование требует от человека максимальной отдачи, что часто влечет за собой частичную потерю квалификации в основной специальности, «подсаживание на иглу» программирования[6]. Математические пакеты вслед за электронными таблицами создавались как программное средство, альтернативное традиционным языкам программирования. Многолетний опыт использования пакетов Mathcad, Maple, Matlab, Mathematica, MuPAD, Derive и др. показывает, что они не вызывают у человека такого «болезненного привыкания». Можно не работать с математической программой полгода, год, но основные навыки общения с этой программой не утрачиваются и, если потребуется, то возникшая задача тут же будет быстро и качественно решена без привлечения сторонних программистов.

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

Самый распространенный математический пакет – это Mathcad. Главная причина такой популярности состоит в том, что Mathcad имеет очень низкий «порог вхождения». Школьник, студент, аспирант, инженер или научный работник при необходимости может поставить на свой компьютер пакет Mathcad и уже через несколько часов успешно решать с его помощью довольно сложные задачи. При условии, конечно, если этот человек знаком с азами компьютерной грамотности. Другие же математические программы требуют специальных знаний, которые приобретаются далеко не за «несколько часов». Mathcad также требует от пользователя «специальных знаний». Но эти знания плавно приобретаются пользователем по мере углубления в «недра» пакета и изучения методов решения возникающих специальных задач: решение уравнений и систем уравнений (алгебраических, дифференциальных и др.), построение графиков, разбор статических задач и многое другое. При необходимости пакет Mathcad можно дополнить специальными приложениями, расширяющими его возможности и позволяющими решать специальные задачи. Пример – программа WaterSteamPro (www.wsp.ru), подключающая к Mathcad функции по теплофизическим свойствам теплоносителей и рабочих тел энергетики[7].

Можно сказать и так. У пакета Mathcad нет «порога вхождения»[8], а есть некий «пандус» с низким углом наклона, позволяющий пользователю «быстро и плавно въезжать» на любой уровень сложности использования данного пакета.

В Московском энергетическом институте (ТУ) «в рамках решения проблемы передачи знаний от поколения к поколению» (а это, как известно, основная функция сферы образования) и в плане выполнения инновационной образовательной программы был запущен в эксплуатацию так называемый Mathcad Calculation Server (MCS)[9] — сервер, позволяющий обращаться к Mathcad-документам дистанционно через интернет.

Вставка 24 сентября 2008 г.

Издание PC World опубликовало список из 10 "IT-переворотов", то есть событий, которые серьезно изменят жизнь пользователя в течение ближайших десяти лет. На первом месте – развитие "облачных" вычислений. Напомним, что концепция облачных вычислений подразумевает предоставление удаленных вычислительных мощностей, дискового пространства и каналов связи заказчику. На использование "облачных" вычислений компании подтолкнет высокая стоимость аренды помещений и высокая стоимость электроэнергии (источник).

Технология MCS позволяет решить следующие проблемы.

         Нет необходимости ставить на компьютер пользователя саму программу Mathcad нужной версии, искать, проверять на отсутствие вирусов и запускать прикладные файлы. Достаточно подключить компьютер к интернету и обратиться к MCS через браузер (обозреватель) Internet Explorer (версия 5.5 и выше) или через браузеры, которыми оборудованы карманные компьютеры или сотовые телефоны-коммуникаторы. При этом сохраняется полная иллюзия того, что на компьютере открыт Mathcad-документ, в котором можно изменить исходные данные, а затем выполнить расчет и считать (распечатать, сохранить на диске) ответ. Сама же расчетная методика (набор формул в традиционной математической нотации, а не в виде компьютерных программ — особенность, за которую так любят Mathcad), а также промежуточные данные могут быть либо открыты, либо закрыты полностью или частично.

         Новые расчетные методики, открытые для изучения[10], становятся моментально доступны всем членам интернет-сообщества или работникам отдельной корпорации, НИИ, университета. Для этого достаточно только сообщить будущим пользователям соответствующие интернет-адреса. Кроме того, сведения о данных расчетах будут появляться в списках, выдаваемых различными поисковыми системами интернет (yandex, google и др.).

         Любые ошибки, опечатки, недоработки, обоснованные и необоснованные допущения в расчете, замеченные как самим разработчиком, так и пользователями, могут быть быстро исправлены. Несложно также модернизировать и расширять расчеты, редактируя открытые формулы.

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

         Технология MCS позволяет экономить денежные средства на приобретение математического обеспечения корпорации или университета, а также оптимально решать проблему лицензирования программ. Как было уже отмечено выше, нет необходимости ставить всем сотрудникам программу Mathcad для ведения рутинных расчетов, оборудовать соответствующим образом компьютерные классы. Достаточно поставить ее только тем, кто создает или модернизирует Mathcad-документы. Остальные могут вести расчеты через общедоступный MCS.

Следует также отметить, что нет необходимости учиться общению с Mathcad-документами, открытыми в Сети, бояться испортить их. Изменение исходных данных в MCS-документе ведется с помощью несложных приемов, которые многие уже освоили, общаясь с коллегами на различных сетевых форумах, играя в сетевые и несетевые компьютерные игры и т.д.

Одной из важных форм передачи знаний являются фундаментальные справочники по конкретным научным дисциплинам. Нередко одним изданием такого справочника пользуется несколько поколений.

В 1999–2004 гг. в Издательстве Московского энергетического института (ТУ) была выпущена справочная серия «Теплотехника и теплоэнергетика» в 4-х книгах под редакцией А.В. Клименко и В.М. Зорина.

В 2005-2007 гг. в МЭИ под руководством В.Ф. Очкова создан сайт http://twt.mpei.ac.ru/tthb, с помощью которого на базе MCS реализованы в интернете в on-line-форме многие формулы, таблицы и графики справочной серии. Данные ресурсы широко используются в учебном процессе студентами, аспирантами и преподавателями теплоэнергетических специальностей технических вузов и колледжей, в системе подготовки и переподготовки кадров для энергетики, в инженерной практике, а также при выполнении научных и проектных работ.

В 2007 г. Издательским Домом МЭИ при поддержке Российского фонда фундаментальных исследований (www.rffi.ru) был выпущен фактически пятый том справочника под названием «Интернет версия справочника «Теплоэнергетика и теплотехника»: Инструментальные средства создания и развития». Данное издание призвано неким образом систематизировать всю имеющуюся в настоящее время информацию об интернет-ресурсах такого характера, а также о способах их создания и поддержки. Отдельные фрагменты данного справочника, а также полезные дополнения к нему опубликованы в интернете и уже являются неким «живым», развивающимся «мягким» изданием справочника, которое непрерывно дополняется наработками читателей – пользователей сайта. Эти наработки в настоящее время уже доступны широкому кругу потенциальных пользователей.

В первой граве справочника описан интерфейс инструментальных средств создания web-справочников на базе математической программы Mathcad, а также приемы и методы публикации Mathcad-документов со справочной информацией в Сети.

Приемы «оживления» формул и расчетных методик в Сети представлены во второй главе справочника. Даны ссылки на интернет-описания инструментов пакета Mathcad для решения уравнений и систем уравнений, алгебраических и дифференциальных.

В третьей главе описаны методы перевода графиков в цифровой формат и последующего «оживления» их в Сети. Даны ссылки на интернет-ресурсы, связанные с решением различного рода статистических задач.

Четвертая глава посвящена проблеме «оживления» в интернете табличной информации.

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

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

Данная работа («твердое» издание + сайт интернета») является во многих отношениях пионерской. Она, помимо прочего, нацелена и на решение проблемы оптимального сочетания положительных качеств «твердых» и «мягких» вариантов справочников и устранения их традиционных недостатков. Ниже показаны типичные интернет-страницы справочника с «живыми» решениями задач.

Как известно, основным рабочим телом энергетики является вода и водяной пар. Теплофизические свойства этого теплоносителя рассчитываются по наборам формул, разработанных под эгидой Международной ассоциации по свойствам воды и водяного пара (IAPWS – www.iapws.org). На рис. 1 отображена страница интернета, зайдя на которую можно рассчитать по формулам IAPWS 2003 года динамическую вязкость воды и водяного пара в зависимости от температуры и давления. При этом посетитель сайта может видеть все формулы, по которым ведется расчет, со всеми промежуточными данными. Это позволит при необходимости посетителю сайта создать собственную программу по расчету данного физического свойства воды и, главное, быстро отладить ее, имея под рукой контрольные промежуточные данные из интернета.

1-DynVis

Рис. 1 (http://twt.mpei.ac.ru/MCS/Worksheets/WSP/DYNVISCTP03.xmcd)

Подобные открытые «живые» расчеты, доступные в интернете, созданы и для других наборов формул, утвержденных IAPWS. Путь к ним лежит со специального сайта с адресом http://twt.mpei.ac.ru/ochkov/WSPHB/index.html, на который есть соответствующая ссылка из официального сайта IAPWS.

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

С сайта www.wsp.ru можно скачать специальные программы и подсоединить их к популярным расчетным средам, в том числе и к пакету Mathcad, чтобы иметь под рукой свойства воды и водяного пара без обращения к Интернету.

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

Создание функции, возвращающей теплофизические свойства рабочих тел энергетических установок, позволили разработать и открыть в Интернете сайт с адресом http://twt.mpei.ac.ru/TTHB/2/ThermCycleMCS.html, на котором собраны ссылки на страницы с «живыми» расчетами термодинамических циклов. На рис. 2 показан сайт с «живыми» формулами, по которым ведется расчет термодинамического КПД цикла Отто. Эту величину можно вычислить по формуле, приведенной в правом нижнем углу рис. 2. Но, по-видимому, немногие помнят, как была выведена эта формула (проблема передачи знаний от поколения к поколению!). На рис. 2 расчет данного КПД ведется с опорой на базовые законы и термодинамические соотношения с помощью решения систем интегро-алгебраических уравнений (блок Given – Find). Все это позволяет легко, с одной стороны, понять логику расчета, а с другой, учесть зависимость удельных изобарных теплоемкостей рабочих от температуры и давления.

2-Otto

Рис. 2 (http://twtmas.mpei.ac.ru/mas/Worksheets/Therm/Otto_anim.mcd)

Подобные страницы интернета созданы практически для всех термодинамических циклов. При этом процессы, происходящие в них, отображаются на двух- и трехмерных «живых» диаграммах с возможностью выбора различных осей координат (h-s, T-s, p-v и т.д. диаграммы), а также показом фаз работы соответствующей теплоэнергетической установки, например, двигателя внутреннего сгорания, реализующего цикл Отто (см. рис. 2).

На рис. 3 показана страничка интернета с «живыми» формулами для расчета температурного поля и плотности теплового потока в стенке круглой трубы, в стационарных условиях. Посетитель сайта имеет возможность не только видеть набор формул в традиционном написании, но и изменить исходные данные и получить новый ответ в виде чисел и графиков. При этом, как и в примере, показанном на рис. 2, решается система двух уравнений (блок Given – Find). Подобные расчетные сайты созданы для многих частных случаев решения уравнения теплопроводности.

3-R1RR2

Рис. 3 (http://twt.mpei.ac.ru/MCS/Worksheets/Thermal/T-T-2-Formula-03-03-07-2c.xmcd)

Выводы

Математические пакеты, поставленные на сервера интернета, позволяют решать проблему «передачи знаний от поколения к поколению» за счет реализации в Сети открытых «живых» расчетов. Интернет-версия справочной серии «Теплоэнергетика и теплотехника» – «живой» пример передачи знаний новому поколению исследователей, работающих в энергетической отрасли.

Литература

1.        Александров А.А., Орлов К.А., Очков В.Ф. Математические пакеты – новые подходы при расчетах процессов термодинамики и других научных дисциплин // Известия высших учебных заведений. Проблемы энергетики. 2005. № 11–12, С. 80—86.

2.        Очков В.Ф. Новые информационные технологии в энергетике: направления, решения, проблемы // Новое в российской электроэнергетике. 2005. № 11, С. 22—31.

3.        Очков В.Ф. Математические пакеты и сетевой интерактивный теплотехнический справочник: проблемы и решения // Теплоэнергетика. 2006. № 6, С. 71—77.

4.        Очков В.Ф., Александров А.А., Орлов К.А. Термодинамические циклы: расчеты в Интернете // Вестник МЭИ. 2007. № 1, С. 43—50.

5.        Теплофизические свойства воды и водяного пара в Интернете / А.А.Александров, В.Ф.Очков, К.А.Орлов, А.В.Очков // Промышленная энергетика. 2007. № 2, С. 2935.

6.        Очков В.Ф. Создание «Электронной энциклопедии энергетики» – информационный вклад в производственные и учебные процессы // Теплоэнергетика. 2007. № 7, С. 1014.

7.        Свойства теплоносителей и рабочих тел энергетики: информация в интернете / В.Ф.Очков, А.А. Александров, К.А.Орлов, А.В.Очков // Новое в российской электроэнергетике. №1. 2008. С. 28—43.



[1] Почему-то считается, что аналоговая запись со временем теряется, а цифровая – вечная. Но это заблуждение.

[2] Формулы трудно назвать «иллюстрациями». Во многих книгах и статьях именно формулы являются некой концептуальной доминантой, а сам текст – это комментарии (иллюстрации).

[3] В «и т.п.» спрятана еще одна «ошибка наборщиков». В последнее время компьютеры и западные стандарты заставляют нас отказываться от запятой в качестве разделителя целой и дробной части чисел. Из-за этого часто в книгах и статьях встречается две формы записи чисел – см. две наши пары чисел выше у данной сноски.

[4] В настоящее время наблюдается практика публикации в интернете непрерывно дополняющихся списков опечаток конкретных книг и справочников.

[5] Электронные таблицы Excel как, впрочем, и программа Matlab занимают промежуточное положение между языками программирования и математическими программами.

[6] Справедливости ради отметим, что нередко специалисты-некомпьютерщики становились высококлассными компьютерщиками, создающими успешные программные продукты не только прикладного, но и общекомпьютерного (системного) характера.

[7] На рис. 1 ниже читатель может видеть работу одной из функций пакета WaterSteamPro с именем wspDENSTP(pT), возвращающую плотность (DENSity) воды и водяного пара в зависимости от давления p и температуры T, что позволило рассчитать динамическую вязкость по открытому алгоритму.

[8] У пакета Mathcad порог доступности низкий и в, так сказать, юридическом смысле. В Сети и на развалах торговцев программами всегда можно найти нужную русифицированную нелицензионную версию этого пакета. Многие пользователи, освоив Mathcad на таких «пиратских» версиях и почувствовав все его преимущества, покупают легальную версию или, по крайней мере, ставят в своем НИИ или вузе вопрос о покупке пакета Mathcad.

[9] Фирма PTC приняла решение не выпускать с новой версией Mathcad новую версию Mathcad Calculation Server. В будущем выкладывать живые Mathcad-расчеты в Интер- и интранете можно будет через интеграцию Mathcad и Windchill - http://www.ptc.com/products/windchill

[10] Еще один аспект открытости Mathcad-документов. Начиная с 12-й версии в среде Mathcad стало возможным записывать документы на диск не только в виде закрытого двоичного кода, доступного только самому пакету Mathcad, но и в виде текстового xml-файла. Это позволяет читать и редактировать расчеты не только в среде Mathcad, но и с помощью обычного редактора. Если пакет Mathcad вдруг перестанет существовать, то файлы, созданные в нем, не пропадут. Их можно будет использовать в других программах.