- 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
- 7BUIS008W Data Mining & Machine Learning Individual Coursework
- DFI4002 Introduction to Finance Assessment Essay Coursework – Arden University
- CPD Planned Learning Form – Overseas Pharmacists Assessment Programme (OSPAP) Coursework
- CMP-L0170 Level 7 Computer and Operating Systems Assessment Coursework portfolio
- IF1201 Assignment: Developing Financial and Utility Tools Using VBA in Excel
- MA12009 Exploratory Data and Statistical Analysis of Airbnb and Spotify Datasets
- NVQ Level 5 Unit 507 Safeguarding in Adult Care
- Structural Design of a 4m Roof Beam: Load and Stability Analysis, Assessment 2
- M33118 Configuring and Studying ASA Basic Settings and Firewall Using CLI
- The Reasons For Hitler Gaining Power In 1933, Course Work
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



