d9e5a92d

Интерфейс пакета Mathematica



В работе рассматривается разработка многопользовательского интерфейса к пакету Mathematica версии 4.0 и реализация его в информационно-образовательной среде высшего учебного заведения.
Одним из основных направлений деятельности многих высших учебных заведений, в настоящее время, является попытка интеграции в учебный процесс новых информационных технологий.
В методологическом плане разработка и использование компьютерных средств поддержки обучения, с самого начала развивались по двум, слабо связанным между собой направлениям.
Первое направление опирается на идеи программированного обучения. В его рамках разрабатываются и эксплуатируются автоматизированные обучающие системы по различным учебным дисциплинам.
Второе направление компьютеризации обучения является как бы вторичным приложением компьютеризации различных отраслей человеческой деятельности (науки, техники, экономики и др.). Это отдельные программы, пакеты программ, элементы автоматизированных систем, предназначенные для автоматизации трудоемких расчетов, оптимизации, исследования свойств объектов и процессов на математических моделях и т.п.
Появление доступных персональных компьютеров и доступа в глобальную сеть Интернет принесло в сферу образования не только новые технические, но и дидактические возможности. Это простота диалогового общения, доступ к гигантским объемам информации и, конечно же, графика.
Интеграция двух этих направлений с современными техническими средствами и глобальной сетью Интернет привело к возникновению понятия информационно-образовательная среда (ИОС) как совокупности информационных, программных и технических средств, а также организационного и методического обеспечения, направленных на повышение эффективности образовательного процесса подготовки специалистов.
Одной из дидактических функций ИОС является возможность использования в учебном процессе современного универсального наукоемкого программного обеспечения, например пакета Mathematica.
Пакет Mathematica [1] создан компанией Wolfram Research для выполнения необходимых математических вычислений. При этом сложность вычислений практически не ограничена, т.к. пакет включает специальный язык программирования, с помощью которого можно реализовать необходимые для расчетов, но отсутствующие в пакете функции. В дополнение к встроенному языку программирования, существует возможность использования внешних процедур, которые могут быть написаны на разных языках программирования (Си, С++, Java) и выполнены в виде специального исполняемого модуля.
В отличие от большинства подобных продуктов, Mathematica создана в виде набора взаимодействующих друг с другом модулей: расчетная (ядро) и интерфейсная части являются разными модулями. Такая организация позволяет, сменив интерфейсный модуль на тот, который для Ваших целей наиболее удобен, повысить (иногда очень существенно) эффективность работы. При этом появляется возможность использовать вместо привычного оконного интерфейса – Web-интерфейс, предоставляемый браузером и работать с ядром системы удаленно.
Данная реализация имеет следующие положительные аспекты:
Для проведения расчетов Вам не нужно приобретать пакет Mathematica, который имеет для граждан России очень внушительную стоимость.
Для комфортной работы с пакетом Вам не нужен мощный компьютер, т.к. все вычисления выполняются на сервере. Удобно работать можно даже на «тонком клиенте» - компьютере, имеющем небольшую производительность, но способном работать с сервером.
Написав соответствующим образом Web-интерфейс можно сильно упростить взаимодействие с ядром, тем самым, облегчив и ускорив работу пользователей. Данный вариант очень удобно использовать при создании каких-либо работ в рамках самостоятельной работы студентов.

С помощью этой технологии можно реализовать удаленное использование пакета Mathematica через сеть Интернет. Пользовательским интерфейсом в такой реализации будет Web-браузер на клиентском компьютере, расчетной частью будет ядро Mathematica. Взаимодействие между пользовательским интерфейсом и ядром будет происходить посредством Web-сервера и работающего под его управлением CGI-модуля, как наиболее гибкой и эффективной в настоящее время технологии. CGI-модуль может быть реализован на любом языке программирования, но лучшим, с точки зрения скорости работы, является использование языка Си, что хорошо укладывается в вопрос сопряжения модуля с ядром Mathematica при помощи интерфейса MathLink.


Рис.1 Схема взаимодействия клиента и сервера при работе с Web-интерфейсом

Опишем вкратце процесс взаимодействия пользователя с пакетом Mathematica через сеть Интернет, изображенный на рис.1. Пользователь получает с Web-сервера HTML-документ, содержащий поле ввода команд на языке Mathematica. Вводит в это поле команды, описывающие расчеты, которые должна выполнить Mathematica; ввод завершается нажатием на кнопку «Выполнить». При этом Web-браузер посылает введенные пользователем данные Web-серверу по протоколу HTTP, который, в свою очередь, передает их CGI-модулю, используя интерфейс CGI. CGI-модуль обрабатывает полученные данные и передает их ядру при помощи интерфейса MathLink. Ядро производит синтаксический разбор полученной информации и производит необходимые расчеты. Результаты и сообщения об ошибках посредством интерфейса MathLink передаются CGI-модулю, который на их основе создает динамический HTML-документ и через интерфейс CGI передает его Web-серверу. Web-сервер посылает документ по протоколу HTTP Web-браузеру, который отображает его на экране клиентского компьютера.
В представленной схеме проведения расчетов наиболее сложной и непонятной частью является организация взаимодействия между CGI-модулем и расчетным ядром пакета Mathematica. MathLink, который и организует это взаимодействие по сути является библиотекой функций, которая включает протокол посылки и получения сообщений пакету Mathematica. Нужно отметить, что все имена функций интерфейса MathLink начинаются с букв ML, которые означают принадлежность к указанному интерфейсу.

Содержание раздела