[ad_1]
BSH CSD4 Distributed Systems Assignment Project
This project is to be done individually.
Aims
The purpose of this project is to gain experience in designing and building distributed systems. You will be expected to demonstrate that your solution meets the objectives set out in this document.
The Problem
Develop a set of protocols/messages and build a reference implementation of devices in a smart environment. Your devices must publicise themselves and discover each other using Zeroconf, and they should communicate via gRPC. Two programming languages must be used to develop your solution. One of the languages should be Java.
You should begin by devising your own scenario. You can choose any smart environment. For example, a smart home, a smart office (printers, faxes, PCs), a smart meeting space (projector, laptops, PDAs, mobile phones) or a smart hospital (PDAs, table-style PCs, medicine containers, location trackers). In the above example each services provider i.e. projector can be thought of as an “entity”.
There must be a minimum of 4 separate services that would simulate operations with your smart environment. It is key to specify what operations are supported on each “service/device”, for example it would be sensible for a projector to support on/off function, a get state function, and a change input function (e.g. VGA, HDMI). Perhaps a media player function would support function to retrieve all playable files, and a corresponding play method, among others. BSH CSD4 Distributed Systems Assignment Project
To demonstrate your implementation a simple GUI with devices and controllers should be built.
Deliverables
Report A short report which details the scenario, and services, you have chosen. Additionally, this should specify the message formats for data exchange and service actuation. The report must have all the headings of the marking scheme, if not you get ZERO for the report. Also, for example if you do not have a section on “Remote Error Handling” I won’t go looking for your remote error handling in the code. You have to tell me what you did for those marks.
Program Code
A project, or more than one, with all code, well commented. Code must also be available in a private GitHub repository, the repo must have a commit history, not a last-minute code dump.
Marking Scheme
o One service must be written in a language other than Java. [10%]
o The other three services should be written in Java. [3 * 8 = 24%]
o A service that invokes one of the other implemented services in order to provide its functionality [6%]
o For each of the 4 different services/devices a corresponding proto file is defined and used
o All 4 different types of RPC invocation styles have been used (simple RPC, server-side streaming RPC, client-side streaming RPC, bidirectional streaming RPC)
o Appropriate and different message structures and field types are used
o appropriate error handling for remote invocations and error messaging
o That allows to view (e.g., present, discover), control (parameters) and invoke the services/devices
o The GUI can be developed in any language, technology of choice (Java application, web based, etc)
o Maintain a repo with a regular commit history
o like a mobile phone, printer etc
BSH CSD4 Distributed Systems Assignment Project
The post BSH CSD4 Distributed Systems Assignment Project appeared first on EssayPanthers.
[ad_2]
Source link
Hi there! Click one of our representatives below and we will get back to you as soon as possible.