Сравнение различных вариантов реализации на примере задачи о декодировании файлов формата GIF



© А.Н. Котов, А.А. Шалыто

Санкт-Петербургский государственный университет информационных технологий, механики и оптики

Проектная документация
Программа (на языке Perl)

Аннотация

Графические файлы формата GIF получили широкое распространение. Однако в настоящее время применение инструментов с открытыми исходными кодами для работы с этим форматом затруднено из-за патентных ограничений.

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

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

При этом наибольший интерес представляет исследование различных способов взаимодействия автоматов друг с другом и сравнение реализаций программы на их основе. В работе рассмотрены три способа взаимодействия автоматов (последовательный, синхронный и асинхронный), два из которых обеспечивают параллельную работу автоматов. При этом реализован способ последовательного взаимодействия автоматов.