Before asking questions regarding this exercise, please review the lecture notes of Week #01 and #02 as well as the documentation on the Erlang web pages.
In Erlang, implement a simple Tuple Space platform. The functionality to be supported includes:
TS = new_tuple_space()
create a new tuple spacein(TS, Tuple)
add Tuple
to the tuple space TS
Tuple = out(TS, Pattern)
find any tuple matching Pattern
and
return it. The tuple will be removed from the tuple space.It is up to you what the Tuple
argument for in
and return value
for out
looks like, but an Erlang tuple is a good starting point. The Pattern
argument for out
, should serve as a pattern for matching the tuples in the tuple space.
It should at least support wildcards.
Multiple processes should be able to access a single tuple space to exchange messages and coordinate through it. How scalable is your solution?
Develop test programs that use the tuple space. Try to implement some simple examples of networked or distributed systems, for example: a ping-pong client-server application, a simple database server, a parallel matrix multiplication program, a simple chat server. Try to implement different styles of communication, including unicast and multicast.
This page is maintained by cs9243@cse.unsw.edu.au Last modified: Monday, 07-Sep-2020 22:07:44 AEST