Математические пакеты:
от натурального хозяйства
к товарному производству через Интернет

Журнал "КомпьютерПресс" № 5, 2004 г.

(английская версия статьи)

В.Очков

http://twt.mpei.ac.ru/ochkov

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

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

Но «нет роз без шипов». Главный недостаток математических пакетов состоит в том, что они, как правило, не могут генерировать так называемые exe-файлы, которые можно запускать без программы-прародительницы. Это, в частности, существенно мешало такому прогрессивному явлению как разделение сидящих за компьютером на пользователей и разработчиков[2]. Люди, работающие с математическими пакетами, как правило, ведут «натуральное хозяйство» – разрабатывают расчетные методики сугубо для личного употребления. Передать их можно было только тому, у кого на компьютере стоит Mathcad. А этот человек покупать файл не будет, а постарается (норовит, как скажет продавец) воссоздать нужный расчет сам[3]. Передать же (продать) файл тому, кто не знаком с пакетом Mathcad и не имеет его на компьютере, можно было только с большой нагрузкой – с условием установки на компьютере самого пакета Mathcad нужной версии, что часто влечет за собой необходимость обновления не только операционной системы Windows, но и «железа». Да и поучиться обращаться c Mathcad тоже необходимо…

Фирма Mathsoft Engineering & Education, Inc. (www.mathsoft.com – разработчик пакета Mathcad) делала ряд «телодвижений» для исправления этого не совсем ненормального положения.

Во-первых, были попытки запуска с очередным (восьмым, если быть точным) release’ом пакета Mathcad его бесплатной[4] и укороченной версии – Mathcad Explorer, которая позволяла открывать Mathcad-файлы и считать по ним, но не редактировать и не сохранять на дисках документы (так называемая read-only версия).

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

Но все это были неполные решения. Mathcad Explorer нужно было скачивать из сети и устанавливать на свой компьютер. А тут уж лучше поставить сам пакет Mathcad, а не его укороченную версию (см. сноску [4]). В другой стороны, Mathcad-документы, вернее их html или MathML копии, открытые в сети, хочется не только разглядывать, но и «пощупать» – изменить исходные данные и увидеть (распечатать, сохранить на диске) новый ответ.

Решение этой проблемы, но уже не частичное, а почти полное опять пришло со стороны Интернет.

В 2003 г. фирма Mathsoft запустила в опытную эксплуатацию так называемый Mathcad Application Server (MAS), позволяющий запускать на нем Mathcad-документы и обращаться к ним дистанционно через Интернет. Автор данной статьи тестировал бета-версию MAS и установил ее локальную копию по адресу www.vpu.ru/mas. Там же можно найти ссылки на документы, касающиеся технологии использования MAS и подготовки Mathcad-документов к публикации в Интернет[5].

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

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

·                                Новые расчетные методики становятся моментально доступны всем пользователям Интернет-сообщества – достаточно только сообщить будущим пользователям Интернет-адрес расчета. При этом можно дать возможность пользователям выбора языка общения (русский, английский и др.).  Чтобы эти расчеты стали товаром (вспомним название статьи), можно сделать доступ к сайту платным (умеренно платным, частично платным), окружить ссылки на них баннерами и т.д.

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

·                                Технология MAS не исключает традиционной возможности скачивания с сервера самих Mathcad-документов для их расширения и модернизации. Для этого достаточно в расчете сделать соответствующую ссылку на FTP-сервер.

Технология MAS решает проблему кардинально лицензирования работы с программой: пользователю нет необходимости покупать дорогостоящую программу Mathcad или ставить на компьютер «пиратскую» копию программы, а также постоянно обновлять их и дополнительно заменять и/или обновлять саму операционную систему Windows, делать «upgrade» компьютеру – достаточно только обратиться к MAS. Покупать дорогостоящие программы должен будет только разработчик – продавец расчетных методик.

Не нужно также учиться обращаться (редактировать) с Mathcad-документами, бояться испортить их. Изменение исходных данных в MAS-документе ведется приемами, которые люди Интернет давно уже освоили, засвечиваясь на различных сетевых форумах, болтая на чатах…

Два примера MAS-документов.

На рис. 1 показан конец Mathcad-документа, который можно открыть в сети (http://twt.mpei.ac.ru/mas/worksheets/Old_Car.mcd) и по которому оценивается старый автомобиль по его возрасту и пробегу. Начало документа содержит описание статистической обработки массива данных по цене подержанных автомобилей, выуженных автором из Интернета и позволивших делать соответствующие оценки. В документе есть ссылка на подробное описание методик этого статистического анализа.

Другой пример на рис. 2. При проектировании строительных объектов необходимо выполнить массу расчетов различной степени сложности. Эти расчеты регламентируются «Строительными нормами и правилами» (СНиПы), которые, в частности, можно найти в Интернете, но в виде описаний (см. например, http://stroy-info.ru/docs/snip/snip.html), а не в виде реализованных расчетных методик.

Технология MAS позволяет «оживить» эти правила и в интерактивном режиме через Интернет провести расчет по новым данным строго по СНиП, распечатать ответ со всеми промежуточными результатами и отдать его на экспертизу, без которой не обходится ни одно серьезное строительство – см. http://twt.mpei.ac.ru/mas/worksheets/Izol_Trub_Teploset.mcd.

Как понимает читатель, рынок таких расчетов огромен. Вот вам и товарное производство!

PS

Расчетные сервера других математических пакетов:

 MATLAB Web Server (MWS) http://www.mathworks.com/products/webserver/demos.jsp и http://www.exponenta.ru/journal/5_2004/1.asp

Mathematica http://rtuis.miem.edu.ru/alex/math/index.htm


[1] В этом списке нет электронных таблиц Excel – самых популярных средств реализации расчетов на компьютере. Excel занимает промежуточную позицию между языками программирования и математическими программами.

[2] «А  ты, Каштанка, - недоумение. Супротив человека ты все равно, что юзверь супротив девелопера» Цитата из римейка рассказа А.П.Чехова «Каштанка» (http://www.lib.ru/LITRA/CHEHOW/kashtanka.txt – в оригинале «плотник супротив столяра», если кто не помнит).

[3] Речь идет, конечно, о небольших расчетных программах, где время их сздания и отладки сопоставимо со временем поиска их готового варианта, установки на компьютер и освоения.

[4] Мы здесь не затрагиваем финансовую сторону проблемы – не говорим о том, сколько стоят сами математические пакеты в их легальных и нелегальных версиях.

[5] В таком Mathcad-документе достаточно заменить операторы ввода «:=» на так называемые WebControls – сетевые элементы управления и вставить кнопку Submit для передачи изменения на сервер – см. http://twt.mpei.ac.ru/ochkov/VPU_Book_New/mas/From_WorkSheet_to_WebSheet.html.