The learning outcomes that are assessed by this coursework are:
LO1 Describe and evaluate fundamental formal methods concepts
LO2 Analyse and critically review the role of formal methodsin the software life cycle
LO3 Critically evaluate the role of tools and methods supporting formal software development
When completed you are required to submit your coursework via:
Turnitin through an assignment submission portal on Blackboard If you need any support or advice on completing this coursework please visit the Student Matters tab on the Faculty of Computing, Engineering & Media Blackboard page.
Late submission of coursework policy:
Late submissions will be processed in accordance with current University regulations which state: “the time period during which a student may submit a piece of work late without authorisation and have the work capped at 40% [50% at PG level] if passed is 14 calendar days. Work submitted unauthorised more than 14 calendar days after the original submission date will receive a mark of 0%. These regulations apply to a student’s first attempt at coursework. Work submitted late without authorisation which constitutes reassessment of a previously failed piece of coursework will always receive a mark of 0%.”
Academic Offences and Bad Academic Practices:
These include plagiarism, cheating, collusion, copying work and reuse of your own work, poor referencing or the passing off of somebody else’s ideas as your own. If you are in any doubt about what constitutes an academic offence or bad academic practice you must check with your tutor. Further information and details of how DSU can support you, if needed, is available at academic offences link and bad academic practice link.
Tasks to be undertaken:
Deliverables to be submitted for assessment:
1 Solutions to exercise 1, 2 and 3
2 JFLAP finite state machines and Yakindu Statecharts code
How the work will be marked:
Where word limits are specified, answers can exceed the word limit by up to 10% without penalty; then a penalty of 20% of the marks for answers that exceed the word limit by up to 30%. The part of any answer that exceeds the word limit by over 30% would not be marked and hence not contribute to the final mark.
Note that you will be expected to attend a viva after submission of your report.
Allows you to defend your work to demonstrate to the programme team that you are familiar with the coursework submitted. The viva has no effect on the module’s mark, but you have to pass the viva to pass the module.
You are required to construct the following FSMs.
a) User Authentication FSM This FSM reads the user’s credit card, the four-digit PIN number, then terminates if the PIN is correct. If the PIN is not correct the FSM ends the transaction and returns to the initial state.
b) Test the user authentication FSM using JFLAP. The test should show examples of accepted inputs and rejected inputs.
c) Cash Withdrawal FSM
This FSM reads the amount that the user wants to withdraw and if the amount is less that £250 and there is enough cash in the user’s bank account, then the FSM dispenses the cash and terminates; otherwise no cash is dispensed and the transaction ends.
d) Test the cash withdrawal FSM using JFLAP. The test should show examples of accepted inputs and rejected inputs.
e) The ATM machine FSM Combine the user authentication FSM and the cash withdrawal FSM to build a FSM for the ATM machine.
f) Test the ATM machine FSM using JFLAP. The test should show examples of accepted inputs and rejected inputs.
Be aware of the following
• The space station has 3 crew members. At any point in time at least 1 crew member should be in the space station.
• There is only space for 1 person in the airlock.
• If both doors D0 and D1 are open then air will escape from the space station this needs to be avoided at all time.
• It is possible that more than one button is pressed at the same time, for example, a person outside the space station wanting to enter the airlock via door D0 and a person in the space station wanting to enter the airlock via door D1. You need to resolve this type of conflict by giving priority to a particular button press. Note: a crew member in the airlock can not press simultaneously buttons B0 and B3.