Updated: 24 December 2011
Introduction
Erasmus is a research project directed by Peter Grogono and Brian Shearing. During the first phase, we are developing a simple programming language that uses communicating concurrent processes as its basic abstraction. This language is called Desi.
During the second phase of the project — assuming that we ever finish the first phase — we hope to develop a production-quality language, based on Desi, and probably called Erasmus.
Publications
- Peter Grogono and Nima Jafroodi. A fair protocol for non-deterministic message passing. Canadian Conference on Computer Science and Software Engineering (C3S2E'10). Montreal, QC, 2010. PDF.
- Peter Grogono and Brian Shearing. Modular Concurrency: a New Approach to Manageable Software. 3rd International Conference on Software and Data Technologies (ICSOFT 2008). Porto, July 2008. PDF.
- Nurudeen Lameed and Peter Grogono. Separating Program Semantics from Deployment. 3rd International Conference on Software and Data Technologies (ICSOFT 2008). Porto, July 2008. PDF.
- Peter Grogono and Brian Shearing. Concurrent Software Engineering: Preparing for Paradigm Shift. Canadian Conference on Computer Science and Software Engineering (C3S2E'08). Montreal, May 2008. Pages 99-108. PDF.
Invited Talks
- Living with Concurrency. Keynote address at Canadian Undergraduate Software Engineering Conference (CUSEC'08). Slides PDF. Notes PDF.
- Ports, Protocols, and Processes: a Programming Paradigm?. Seminar at Advanced Programming Languages Group, British Computer Society, Novermber 2007. Slides PDF. Notes PDF.
- Modular Concurrency. Keynote address at Canadian Undergraduate Software Engineering Conference (CUSEC'06). Slides PDF. Notes PDF.
Theses
- Maryam Zakeryfar. Abstract Interpretation of Concurrent Programs. PhD Thesis, Department of Computer Science and Software Engineering, Concordia University. In progress: expected completion, May 2013.
- Nima Jafroodi. Communication and Protocol Satisfaction in Erasmus. PhD Thesis, Department of Computer Science and Software Engineering, Concordia University. In progress: expected completion, May 2012.
- Mitra Nami. ELIDE: an Integrated Development Environment for the Erasmus Language. Masters Thesis, Department of Computer Science and Software Engineering, Concordia University, April 2009.
- Nurudeen Lameed. Implementing Concurrency in a Process-based Language. Masters Thesis, Department of Computer Science and Software Engineering, Concordia University, March 2008.
- Nima Jafroodi. A Type System for the Erasmus Language. Masters Thesis, Department of Computer Science and Software Engineering, Concordia University, January 2008.
Other Documents
- Desi: Erasmus for 2010. Novermber 2011. PDF.
- Modularity + Concurrency = Manageability, September 2007. PDF.
- A Modular Language for Concurrent Programming, September 2006. PDF.
- A discussion of Erasmus at Lambda the Ultimate, April 2008.
- Bibliography of papers about Erasmus and topics related to the Erasmus project. PDF. BIB.
Software Tools
We use a number of software tools to develop programs and prepare documentation. All of these tools are in the public domain and are easy to download and install. Please respect the licencing agreements!
- CodeBlocks, and IDE for development in C++ and other languages.
- Grammar Processor, a home-grown tool for checking and documenting gramamrs.
- Lightning, a GNU compiler back-end for X86 and other architectures.
- Listings package for listing source code in a LaTeX document.
- MetaPost, a language for drawing.
I have written a Reference Manual for MetaPost. - MIKTeX, an implementation of LaTeX with a complete selection of packages, etc.
I have written a starter's guide for LaTeX. - MinGW, a C++ compiler for Windows, derived from gcc.
- Python, a scripting language.
- TexNicCenter, an IDE for LaTeX: needs an implementation of LaTeX such as MIKTeX.
This page is provided mainly for people working on the Erasmus Project. We will put up a more useful page, for general reading, when the project reaches an appropriate level of maturity. Thank you for your interest (and patience)!


