- LL5306 Commercial Law Assessment Coursework Brief 2026 | Kingston University
- M22319 / M33098 Numerical Skills & Economics Assessment Coursework | UOP
- BMG872 Global Strategy Development and Implementation Individual Assignment CWK Brief 2026
- LLB020N204A Law of Property Assessment Coursework Brief 2026
- BS3397 Microeconometrics Coursework Assignment Brief 2026 | AU
- UMAD47-15-M Managing Finance Assessment Coursework Brief | UWE
- BST851 Business Data Analytics Assessment Coursework 2026
- MMM143 International Business and the World Economy Coursework 2026
- EMS402U Engineering Design Coursework Project Report 2026 | QMUL
- 25BSC565 Fundamentals of Strategic Management Coursework Brief
- MARK5025 Contemporary Marketing Communications Assessment Coursework Brief 2
- GEEN1127 Design and Materials Individual Coursework Brief 2025-2026 | UOG
- BPS319 PBL 3 Natural Product Chemistry vs Kinetic Isotope Effects Coursework | UOL
- LD7098 Cyber Security Principles Coursework Assessment 2025-26 | Northumbria University
- EG7004 Soil Structure Engineering Assignment 1 Coursework Semester A 2025/26 | University of East London (UOEL)
- BSC127 Information and Knowledge Management Individual Coursework | Loughborough University
- CI5250 Computing Systems Assignment – Networking Design Coursework | Kingston University
- Critical Literature Review Assignment 001 Coursework | Harvard University
- AFE_5_TAP Taxation Practice Assignment Coursework | London South Bank University
- EEEE3083 Power Electronic Aplications and Control Assessment Coursework 1 Individual Report | University of Nottingham
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



