Новый язык программирования для быстрого моделирования

Новый язык программирования для быстрого моделирования

Программирование — это трудоемкий процесс, и на разработку даже базового симулятора может уйти много лет. Исследователи хотят упростить этот процесс. Они создали язык, похожий на язык математики.

Это позволяет им разделить рабочий процесс таким образом, чтобы сократить время, необходимое для разработки симулятора. Затем математик может сосредоточиться на том, что он или она знает лучше всего — на области применения симулятора. С другой стороны, специалисты по программированию могут сидеть и работать с «переводчиком», чтобы переведенный код работал быстрее. Им не нужно беспокоиться о приложении.

Моделирование масла и воды
На кафедре прикладной математики SINTEF исследователи разрабатывают методы и новые способы вычисления всего, от прогнозов погоды для аэропортов до тактических построений футбольных команд Премьер-лиги. В этом проекте они сосредотачиваются на двух приложениях — способе, которым нефть течет в своем естественном резервуаре, и том, как волны наводнения распространяются по ландшафту. Исходные коды используются для разработки инструментов моделирования, которые могут предсказать, что происходит с нефтью в пласте и где возникают наибольшие объемы паводковой воды. «Резервуар — это жесткая губка, содержащая масло», — объясняет Андре Бродткорб из SINTEF. «Чтобы смоделировать процесс добычи нефти, мы делим пласт на небольшие сегменты или ячейки и описываем, как нефть перемещается от ячейки к ячейке.

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

К ним относятся математики, физики, числители и программисты. «Проблема в том, что у каждого из них есть свои основные навыки», — говорит Бродткорб. «Те, кто пишет исходный код для симулятора, не обязательно полностью осведомлены о том, что делают математики и физики — и наоборот», — говорит он. «А когда люди из разных сфер деятельности пытаются прийти к соглашению, возникают недопонимания, и на все требуется время», — говорит он. "Крупные софтверные компании обычно обладают всем необходимым опытом. Но большинство исследовательских кодов разрабатываются отдельными людьми или небольшими группами — и им нужна помощь », — говорит Бродткорб.
Удаление ошибок безопасности
В создании тренажеров нет ничего нового.

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

Марсианский климатический орбитальный аппарат, запущенный НАСА для изучения марсианской атмосферы, потерпел крушение на планете в 1999 году. Причина заключалась в том, что компания Lockheed Martin разработала имитационную модель с использованием британских единиц, когда НАСА ожидало, что они будут поставлять в метрической системе. «Из-за ошибки 327 миллионов долларов превратились в дым», — говорит Бродткорб. "Мы предусмотрели меры предосторожности, чтобы не допустить подобных ситуаций.

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

В суматохе легко запутаться и потерять из виду отдельные клетки. "Даже если что-то пойдет не так, результат может оказаться правильным. Если это произойдет, все действительно может пойти наперекосяк, и решения могут быть приняты на основании ложных предпосылок », — говорит Бродткорб. «Но в нашей системе возможность таких ошибок исключена», — говорит он.

В настоящее время исследователи подают заявку на финансирование для дальнейшего продвижения своего проекта. «Мы очень верим в суть этого проекта», — говорит Бродткорб. "Наш новый язык программирования прост в использовании, на написание программ уходит меньше времени, а источники ошибок устранены. Три веских аргумента в пользу продаж, вам не кажется?" он говорит.

ФАКТЫ:
Операционная система Microsoft Windows написана в основном на языке программирования C++. Java — еще один знакомый язык. Проект «Симуляторы, которые пишут сами себя» — это двухлетний проект, финансируемый собственными силами SINTEF IKT, и завершился 1 января 2015 года.

Язык, разработанный исследователями, называется Equelle. Посетите сайт http: // equelle.org /, и вы можете поиграть с языком, используя браузер.