This class was funded and organized by the Center for Undergraduate Research & Scholarship at Augusta University, and allowed John Natale (a Mathematics major) and myself to work on the following for 5 weeks:
The project aims at using mathematical tools (set theory, category theory) to get a better understanding of the mechanisms of distributed computation. The core idea is to use mathematical equivalences to equate programs that are unessentially different. This is an active area of study, with a large community of researchers, at the cross-roads of Computer Science and Mathematics.
More technically, we tried to “iron-out” the definition of configuration structures, and to connect it more precisely and tightly to category theory than it is usually done.
Due to the COVID-19 pandemic, this program was carried out on-line exclusively.
John Natale made a presentation at the 10th Anniversary of the CURS Summer Scholar Symposium (Program).
Connecting Concurrent Computations
Concurrent computations exploit networked computers to run programs faster or collaboratively. By looking at it from a mathematical point of view, it becomes possible to abstract away the erroneous details that could cloud the view of the base structure. Multiple different mathematical structures have been proposed and exploited to represent concurrent computations; however, these different mathematical structures are not always as clearly compared to the others as one could wish. This lack of connectedness can be seen through the axioms in each paper that, albeit similar in appearance, they are intrinsically different and sometimes hard to relate. When multiple authors working with different definitions try to share their findings, they would have to start from the beginning when looking at the other person’s work. In this presentation, I will discuss the model we have been studying, called labelled configuration structures, and some of its key aspects: comparison with other models, basics operations, and categorical interpretations. Through examples and carefully laid proofs, it is our hope that our effort will allow people working in the field to use a standard and clear definition. With this, the hope is that the study of concurrent computations will have an easier time developing and become more accessible as more people use and contribute to a unified definition.