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