6SENG002W Concurrent Programming | My Assignment Tutor

University of WestminsterSchool of Computer Science & Engineering 6SENG002W Concurrent ProgrammingREFERRED/DEFERRED Coursework (2020/21)Module leaderPaul Howells ( [email protected] )UnitREFERRED/DEFERRED CourseworkWeighting:40%Qualifying mark30%DescriptionTo develop:(a) An FSP program to model a Student’s Bank Account.(b) A concurrent (multi-threaded) Java program to implement the FSPmodel of the Student’s Bank Account.LearningOutcomesCovered in thisAssignment:The coursework assesses learning outcomes:LO1, LO2, LO3 & LO4.Handed Out:June 2021Due Date13:00, Monday, 12th July, 2021ExpecteddeliverablesElectronic files:(a) The FSP System Analysis & Design Form for the FSP processcomposition representing the complete Banking system. (In PDF fileformat.)(b) The FSP program for the student’s bank account system, called“BankSystem.lts”. (In plain text file format.)(c) The Java source code for each individual Java class thatimplements the FSP model. Java code files (“.java”) should be plainASCII text format.(d) Screen shots demonstrating the use of the FSP tool ltsa toanimate and analyse the FSP model, and the Java execution.All files should be compressed into a single ZIP archive. The ZIParchive should be named using your surname & “RD-CW”, e.g.“howells_RD-CW.zip”.Please Do Not use “RAR” compression. 6SENG002W REF/DEF Coursework 2020/21 1 [9/6/2021] Method ofSubmission:Online via BlackboardLab DemonstrationType of Feedbackand Due Date:Written feedback and marks available when the REASSESSMENTRESULTS PUBLISHED.All marks will remain provisional until formally agreed by anAssessment Board. Assessment regulationsRefer to section 4 of the “How you study” guide for undergraduate students for a clarificationof how you are assessed, penalties and late submissions, what constitutes plagiarism etc.Penalty for Late SubmissionIf you submit your coursework late but within 24 hours or one working day of the specifieddeadline, 10 marks will be deducted from the final mark, as a penalty for late submission,except for work which obtains a mark in the range 40 – 49%, in which case the mark will becapped at the pass mark (40%). If you submit your coursework more than 24 hours or morethan one working day after the specified deadline you will be given a mark of zero for thework in question unless a claim of Mitigating Circumstances has been submitted andaccepted as valid.It is recognised that on occasion, illness or a personal crisis can mean that you fail to submita piece of work on time. In such cases you must inform the Campus Office in writing on amitigating circumstances form, giving the reason for your late or non-submission. You mustprovide relevant documentary evidence with the form. This information will be reported to therelevant Assessment Board that will decide whether the mark of zero shall stand. For moredetailed information regarding University Assessment Regulations, please refer to thefollowing website:http://www.westminster.ac.uk/study/current-students/resources/academic-regulations6SENG002W REF/DEF Coursework 2020/21 2 [9/6/2021]Coursework Description1. IntroductionThis coursework is based on the Student Bank Account case study that was used in the firstLecture. The coursework is in three parts:1. Develop an FSP processes to model a student’s Bank Account & the concurrenttransactions on the account performed by a collection of individuals andorganisations: a student, the parents, a Loan Company and a University. You mustalso model a number of transactions, e.g. student buying an iPhone, the student loancompany depositing the student loan and the University withdrawing the course fees.The concurrent transactions with the Bank should ensure mutual exclusion and nodata corruption.2. This abstract FSP program is then to be translated into a multi-threaded Javaprogram, using appropriate Java concurrency features. The Java program is to bebased on the FSP model of the student Banking system. You are required todevelop Java classes to model the FSP processes and the complete system definedin part 1. Your Java implementation must ensure that mutual exclusion and nodata corruption occurs as a result of the bank account being shared andconcurrently accessed by the processes (Java threads).3. Submit screen shot images that: demonstrate the use of the FSP tool LTSA toanimate and check your FSP model, & show an example output from your Javaprogram.Both the FSP and Java programs should conform to the general guidelines given in: FSPProgramming Criteria, Java Programming Criteria and the general style used for both in theLecture notes and example programs.2. Detailed Description of Coursework Components2.1 FSP Design & ModelYou are required to develop several FSP processes to model a student Bank Account, for astudent; the student’s parents, a Loan Company and a University. These processes shouldeach perform at least one financial transactions on the bank account.This is to be done by using the FSP System Analysis & Design Form for the FSP processcomposition of the complete concurrent system. The system should be developedincrementally using the LTSA tool.2.1.1 Description of Individual ProcessesThe requirements & design of the individual FSP processes is as follows:(a) Current AccountIt allows users of the current account to read the current balance & update it, by writing anew balance. The student’s bank balance must be a correct record of the balance & mustnot suffer from “data corruption & interference”. That is each user must have mutuallyexclusive access to the account while operating on it.(b) Student – its behaviour is: Read its current balance.6SENG002W REF/DEF Coursework 2020/21 3 [9/6/2021] Make withdrawal by subtracting some money, calculating the new balance. Buy the latest iPhone. Update the account by writing back the new balance.(c) Student’s Parents- its behaviour is: Read their child’s current balance. Give birthday present money, by adding the money to the current balance &calculating the new balance. Deposit the money in the account by writing back the new balance. Send an e-birthday card.(d) Student Loan Company – its behaviour is: Read the student’s current balance. Make the loan by adding the loan amount to the current balance & calculating thestudent’s new balance. Deposit the money in the student’s account by writing back the new balance.(e) University – its behaviour is: Read the student’s current balance. Make withdrawal of the University fees, by subtracting money & calculating thenew balance. Update student’s account by writing back the new balance.(f) Banking System – combines all of the above 5 processes in parallel.Note that the FSP tool LTSA can only display a process with


Leave a Reply

Your email address will not be published. Required fields are marked *