Solve the following two problems. Read the submission instructions carefully.
Problem 1 (50 Points): Recall the message-passing based implementation of a file server. Implement this as an Actors-based system using Java with Akka. Particularly, recall that in the solution discussed in class, the file servers share channel open. Because your Actors implementation will not use channels separate from actors, your solution will have to be different.
Problem 1 clarification
Problem 2 (50 Points): Develop a Java program to simulate the Dining Philosophers problem defined as follows.
Five philosophers sit around a circular table. Each philosopher spends his life alternately thinking and eating. In the center of the table is a large platter of spaghetti. Because the spaghetti is long and tangled -- and the philosophers are not mechanically adept -- a philosopher must use two forks to eat a helping. Unfortunately, the philosophers can afford only five forks among them. One fork is placed between each pair of philosophers, and the agree that each will use only the forks to the immediate left and right of them. The problem is to write a program to simulate the behavior of the philosophers. The program must avoid the unfortunate (and eventually fatal) situation in which all philosophers are hungry but none is able to acquire both forks -- for example, each holds one fork and refuses to give it up.
Your program should have 5 philosopher threads and a class that implements a monitor to synchronize the philosophers. The monitor should have two methods: getforks(id) and relforks(id), where id is an integer between 1 and 5. Have the philosophers eat and sleep for random amounts of time. Add print statements to your program to generate a trace of the activity of the program. Write a brief report summarizing what you observe.
The ready solutions purchased from Library are already used solutions. Please do not submit them directly as it may lead to plagiarism. Once paid, the solution file download link will be sent to your provided email. Please either use them for learning purpose or re-write them in your own language. In case if you haven't get the email, do let us know via chat support.
Get Free Quote!
270 Experts Online