Tools and Materials for IN[59]570, Spring 2023
The course IN5570 (MSc) / IN9570 (PhD) on Distributed Objects teaches the fundamental principles of applying object-orientation in a distributed setting. The course is taught using the Emerald programming language, an object-oriented language (in a classical, pre-Java sense) for programming distributed applications.
In this folder, you will find the relevant course materials and handed out source code for exercises and assignments for the 2025 instance of the course.
Getting Started, using Docker.
- Install Docker.
- Using the provided
Makefile
, run the command "make environment
". - Alternatively run the command "
make fresh
" (may require configuration if you are not running Linux withgnome
).
Compiling and running programs.
The container file-system is ephemeral (will disappear after you close the container). However, it will mount your current directory as a volume. Your changes in this directory will persist.
The container provides two programs ec
and emx
. The former compiles an
emerald program, the latter runs it.
Emerald Modes
Emerald modes are available for:
If you make a mode, let us know!
Pro tip of the day.
The -R
flag connects an emerald node to another node.
So
emx -R<host-identifier>:<host-port> [program.x]
Connects the runtime of an emerald node to the runtime of another.