В Иллинойском университете в Урбана-Шампань продолжают развитие языка параллельного программирования Deterministic Parallell Java. Этот язык основан на Java, но его синтаксис предусматривает ряд конструкций, рассчитанных на применение в программах, которые реализуют параллельные вычисления на нескольких процессорах или ядрах.

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

DPJizer выполнен в виде плагина к интегрированной среде разработки Eclipse. Он производит анализ исходного кода всей программы и составляет аннотации, которые часто оказываются точнее написанных вручную, утверждают разработчики.

Поделитесь материалом с коллегами и друзьями