В рамках совместного проекта ПостНауки и Университета Иннополис профессор Мануэль Маццара выбрал 5 книг, которые считает наиболее значимыми для изучения компьютерных наук. Дисциплина Computer Science возникла в первой половине XX века и сочетает в себе теоретические знания и практические подходы, которыми руководствуются специалисты в области компьютерных систем, программирования, вычислительной техники. Рекомендации рассматривают лучшие книги по теории параллелизма и практическим аспектам алгебры процессов.

1

Milner R. Communication and Concurrency. Prentice Hall, 1989

Это первая книга по теории параллелизма, которую я прочитал, и, безусловно, ее стоит прочитать каждому. Мне повезло встретиться несколько раз с профессором Милнером. Он был хорошим человеком и ученым исключительного калибра. Данная книга проста и понятна — доказательство того, что автор прекрасно понимал область, о которой писал. Я бы никогда не смог выполнить ни одну из моих работ, если бы не эта книга, ставшая фундаментом моих знаний.

Другой важный столп среди исследований теории параллелизма, принадлежащий его же перу, — «Коммуникация и мобильные системы: учебное пособие по пи-исчислению». В этой книге профессор Милнер рассматривает мобильность в параллелизме.

2

Sangiorgi D., Walker D. The Pi-Calculus: A Theory of Mobile Processes. Cambridge University Press, 2003

Я провел бессонные ночи за этой книгой и не испытываю ни капли сожаления. The Pi-Calculus: A Theory of Mobile Processes — это исчерпывающее изложение алгебры мобильных процессов с самых ранних дней их развития.

Компоненты мобильных систем взаимодействуют и меняют свою структуру. Пи-исчисления дают концептуальные рамки для понимания мобильности и математические инструменты для описания механизмов их поведения. В книге затрагиваются основы теории пи-исчислений, а также их применение в объектно ориентированном программировании. Автор показывает, как использовать пи-исчисления для анализа свойств мобильных систем.

3

C.A.R. Hoare (Ed.) Communicating Sequential Processes. Prentice-Hall, 1985

Communicating Sequential Processes (параллельная модель взаимодействия последовательных процессов) — это математический подход к параллелизму и коммуникациям от лауреата премии Тьюринга Чарльза Энтони Ричарда Хоара. Эта книга должна быть в каждой библиотеке, посвященной Computer Science и программной инженерии.

Чарльз Хоар известен благодаря разработке алгоритма быстрой сортировки и своим работам в области алгебры процессов. Наряду с Робертом Милнером, автором первой из книг в данной подборке, Хоар является одним из пионеров области и одним из наиболее известных ученых, посвятивших свои труды развитию теории информатики. Работа Хоара поможет в практике проектирования компьютерных систем.

4

J.A. Bergstra, A. Ponse, S.A. Smolka (Ed.) Handbook of Process Algebra. Elsevier Science, 2001

Руководство по алгебре процессов содержит тексты трех авторов в области алгебры процессов и отражает широкую картину данной области со времен ее появления в конце 1970-х годов и до современности. Оно предназначено в качестве исчерпывающего источника для специалистов в компьютерных науках.

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

5

Fokkink W. Introduction to Process Algebra. Springer, 2000

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

Данная работа даст специалисту подробное введение в основы алгебры процессов — направление, которое активно развивается в течение последних десятилетий. Читатели получают информацию о методах обнаружения несовершенств в системах программного и аппаратного обеспечения.