Разработка системной поддержки вызова программ,реализованных на языке Fortran, из среды Java
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: контрольные работы, баллов
| Добавил(а) на сайт: Bocharov.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8
(б)
(в)
(г)
Рисунок 2. Время выполнения.
Как видно из таблицы 3 и на рисунке 2(а), реализация приложения на языках Java+Fortran не значительно проигрывает по времени выполнения приложению, реализованному только на языке Fortran. Это достигается за счет того, что в приложении, реализованном на Java+Fortran, вычисления полностью выполняются в Fortran-среде.
Однако приложение, реализованное на языках Java+Fortran, работает значительно быстрее, нежели приложение, реализованное на языке Java. Как видно на рисунке 2(б), 2(в), 2(г), в приложении, реализованном только на языке Java, не только вычисление занимает больше времени, нежели в приложении, реализованном на языках Java+Fortran, но и инициализация и запись данных в файл. Потеря времени происходит за счет того, что большая часть инициируемых данных берется из файла. В приложении, реализованном только на языке Java, данные из файла записываются в массивы языка Java, а в приложении, реализованном на языках Java+Fortran, - в прямые буферы.
6. Некоторые ограничения реализации приложения пользователя
Fortran-подпрограммы, которые вызываются из Java-среды, не должны содержать символа "подчеркивание" в своем имени. В противном случае разделяемая библиотека не сможет сопоставить реализованные в ней методы с теми, которые вызываются. Это вызовет падение работы всего приложения.
Компилятор GNU g77, разрешает использование переменных без их явного описания. Однако, если явно не определить тип переменной в подпрограмме, которая вызывается из Java-окружения, вероятен случай, что виртуальная Java-машина получит внешний сигнал. Этот сигнал, номер которого 11, сообщает виртуальной машине о некорректном обращении к памяти за пределами ее работы. Аналогичная ситуация может возникнуть и с функциями. При описании функций стандартом предусмотрено описывать явно тип возвращаемого значения. Однако, если этого не сделать, то компилятор сам подберет соответствующий тип, исходя из типа возвращаемого выражения. Если такую функцию вызывать из программы, реализованной только на языке Fortran, то все будет работать стабильно. Но как только объектный модуль с такой функцией участвует в формировании разделяемой библиотеки и подобного рода функция вызывается подпрограммой, которая, в свою очередь, вызывается виртуальной машиной Java, выполнение основной программы прекращается по причине получения виртуальной Java-машиной сигнала номер 11.
Данные ограничения в дальнейшем развитии работы будут сняты посредством автоматического добавления в код Fortran-программы недостающих описаний.
Заключение
Разработана организация взаимодействия среды Java и подпрограмм, реализованных на языке Fortran. Была выполнена прототипная реализация. Прототипная реализация показала, что описанная методика вызова подпрограмм, реализованных на языке Fortran, из окружения Java, реализуется с минимальными накладными расходами, а, следовательно, эффективно.
Дальнейшее развитие предполагает разработку методики рефакторинга Fortran-программ с целью преобразования их в такой вид, какой было бы удобно автоматически транслировать на язык Java.
Список литературы
Б.Керниган, Д.Ритчи. Язык программирования Си. Санкт-Петербург, 2001
Фортран 77 ЕС ЭВМ. Справочное издание. Москва "Финансы и статистика", 1989
Фортран. Программированное учебное пособие. Киев "Вища школа", 1980
У.Савитч. Язык Java. Курс программирования. Москва - Санкт-Петербург - Киев "Вильямс", 2002
Ю.И. Рыжиков. Совремнный фортран. Санкт-Петербург "Корона принт", 2004
Артур Гриффитс. GCC. Полное руководство. Москва - Санкт-Петербург - Киев DiaSoft, 2004
С. Д. Устюгов, В. М. Чечеткин. Взрыв сверхновой при крупномасштабной конвективной неустойчивости вращающейся протонейтронной звезды. //
Астрономический журнал, 1999, том 76, №11, с. 816-824.
Скачали данный реферат: Evsej, Benedikta, Юракин, Ягренев, Дьяков, Jellada, Shishlov.
Последние просмотренные рефераты на тему: банк курсовых работ бесплатно, решебник 9 класс, территории реферат, контрольные за 1 полугодие.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8