Assignment title: Information
RESIT/DEFERRAL COURSEWORK+CSD+2600 – Submission+date+August+26th
2016:+Journal(Paper and(Implementation(of Concurrency(and(Banking
This!is!the!description!of!the!Resit+Coursework!for!the!Module!CSD2600. It!is!
also!the!Coursework!for!those!students!that!have!a!Deferral.!The!deliverable!is!
similar!to!Coursework!2 and!even!more!so!the!Lab!and!Seminar!project. It!is!
strongly!advised!to!follow!the!outline!of!the!Seminars!sheets!(Seminar!4!and!5)!
and!Lab!sheets!(Seminar!4!and!5).
Scenario+for+the+assignment: Concurrency!problems!with!banking;!service!
example!is!a!deposit function and!a!transfer function;!the!problems!to!be!
considered!are!mutual(exclusion and!deadlock.
Simple(example(scenario:!Access!to!a banking!account!allows!getting!the!current!
amount!in!the!bank!account!!(get_balance)!and!setting!a!new!amount!in!the!
account!(set_balance). Based!on!these!two!functions,!a!third!function!deposit!
needs!to!be!implemented!that!allows!putting!a!certain!amount!of!money!into!the!
account!(deposit). In!addition,!a!function!transfer that!takes!out!money!from!
one!account!and!deposits!it!into!another!account!must!be!implemented and!
tested!(testfiles!to!be!provided).
We!consider!an!environment!where!parallel!execution!of!processes!is!possible.!
This!may!create concurrency!issues if!two!processes!access!one!account
(inference)!and!if two!transfers!happen!simultaneously!between!two!accounts!
(deadlock).!You!should use!semaphore(s) (or monitor(s))!to!resolve!these!issues.
Assignment+Requirements:!The!journal!paper!must!describe the!background!of!
the!project,!i.e.!Concurrency!and!the!banking!functions.!The!concurrency!
problem!must!be!illustrated!using!Finite!State!Machines!(FSM)!or!Finite!State!
Processes!(FSP),!and!Erlang. The!solution!(Mutex)!must!also!be!illustrated!in!
FSM/FSP!and!implemented in!Erlang.!
• The!background:!Banking and!Erlang
• The!concurrency!problems using!some!high!level!description!like!FSM!or!
FSP. How!does!this!manifest!itself!in!your!Erlang!implementation?
• What!is!your!solution!idea/algorithm? (Mutex!probably)
• Solution!in!Erlang!including!some!analysis!(tests,!problems!encountered).
Formal+Journal+Requirements:
• The!report!should!demonstrate!qualities!in!terms!of!writing!skills,!format,!
and!contents.
• Maximum!5!pages
• NO!plagiarism
• Your!own!words!with!the!exception!of quotations!from!other!sources!that!
should!be!highlighted!in!quotation!marks!"…"!and!referenced
• The!Journal!must!be!written!in!the!provided!IEEE!format!(can!be!found!in!
the!Internet,!latex!or!word)
Recommended General+Journal+Paper+Structure
• Abstract
• Summary!of your!work!– very!important!!!!(it!is!the!most!read)
• Introduction
• Places!the!work!in!the!appropriate!context,!gently!introduces!the!
subject,!introduces!related!approaches!and!concludes!with!a!
roadmap
• Background
• !!basic!concepts!and!terminology!to!understand!your!work
• Possible!approaches
• Various!solutions
• Discussion
• Critically!evaluate!all!solutions!– pros!and!cons
• Future!works!/!improvements!(if!any)
• Conclusions
• Summaries!and!underlines!major!concepts
• References
• Look!in!google!scholar!
• IEEE!and!ACM!digital!libraries!
• NOT!JUST!WIKIPEDIA
Marking+Scheme:
IEEE+Paper+Format:+Example