CS01C86 Advanced Programming, Course Work, NU, UK

University Newcastle University (NU)
Subject CS01C86 Advanced Programming

Scenario

We want to implement a forum platform (Blog), where users are opening topic threads for discussions (createNewTopicThread) and posting some comments (add PostToThreadId). When a topic thread is opened, there might be no messages available. We also freely assume that all the users are also
moderators, thus allowing to remove specific threads as a whole (removeTopicThreadById).

We do not consider the possibility of removing single messages within a topic thread. In addition to this, we might also freely assume that each user might retrieve all the available topic threads names
sorted by published date (getAllTopics) as well as their IDs (getAllTopicIDs); a user can also retrieve all messages from a specific topic thread (getAllMessagesFromTopic).

Furthermore, the user might be also want to retrieve the latest available update event within the server (pollForUpdate) if available and otherwise wait; an eponymous method also accepting the previous message update as an argument will only return if a new event being different from the one being provided as an argument is effectively generated by one of the users using the platform.

When required, the users receive the feedback on their operation’s status through either a boolean (true for successful, false for error or unsuccessful) or a TopicUpdates message. The latter class shall not be changed by the student.

We might freely assume that such platform acts as a monitor, where requests are handled through method invocation. For synchronising read and write operations over the server, the students shall only use the Read Write Monitor Multi Read to guarantee the main synchronization mechanism.

In this scenario, the users should be allowed to perform all of the aforementioned operations concurrently with no race conditions. Using 2PL transactions or ensuring the fairness over reader and
writing threads is not strictly required.

Are You Looking for Answer of This Assignment or Essay

Struggling with your CS01C86 Advanced Programming coursework in the UK? No worries! Our UK experts here to assist you. We offer online assignment help and coursework writing services tailored to meet your needs. Whether you need someone to “do my assignment for me in the UK, our professionals are ready to support you. UK students can benefit from our expert guidance to excel in their courses.

Answer
img-blur-answers