Web and Network Services
(Remote Operated System)
To develop a simple remote operated system.
Outcomes to be Assessed
This coursework addresses Ability Outcome 2.1 &acirc;€“ 2.3 as described in the module specification.
&acirc;€¢ A disc containing all the files and code developed for the remote operated system.
&acirc;€¢ A written report
There is no group component; this is an individual piece of work.
An Integrated Development Environment.
1. Development of the Client Side Components 20%
2. Development of the Server Side Components 40%
3. Design considerations 20%
4. Report 20%
This assignment is a demonstration of Client &acirc;€“ Server activity. To complete the assignment the communication protocol between the client and the server should be implemented using Java Socket technology as demonstrated during the lecture/practical sessions.
The problem is to simulate the movement of a remote device using commands sent from a client application.
The scenario for the operation of a remote device is to manoeuvre a robot around a darkened room avoiding a series of objects.
The robot cannot go through the objects it must go around them.
The robot cannot see so it must use its sensors. (The implementation of sensors can be simulated by knowing the location of pre-placed objects. If the bounds of the device encounter the bounds of the object then a message can be sent to the client informing the client that there is an object in its path).
The robot is to be manoeuvred using the ARROW keys on the keyboard.
The position of the robot must be fed back to the client.
The position of an object must be fed back to the client when the device encounters the object.
If the robot encounters the walls of the room it cannot pass through them.
If the robot encounters a pre-placed object it cannot pass through/over it.
The robot cannot automatically avoid walls and objects, it can only be manoeuvred by the keypad.
Set the size of the room to 800 x 600.
Set the size of the robot to be 120 x 120 pixels.
Set the size of the pre-placed objects to be 100 x 75. There should be a minimum of three objects.
To complete the assignment you should write a short report on client/server technology. You should comment on your experience of developing the client/server application and critically examine the appropriateness of the technology used. Your report should be between 700 &acirc;€“ 800 words supported by screenshots of your application and examples of the feedback sent to the client.
You should include in your report key elements of your code and explain the functionality/purpose of the code.
&acirc;€¢ What do we mean by ROBOT?
&acirc;€¢ I am not looking for a definition but how might a ROBOT be defined in the papers you have been given.
o look outside the papers for some answers
&acirc;€¢ What might we call a ROBOT if it is not a ROBOT (Automaton)?
&acirc;€¢ What is the basic architecture for controlling a remote device?
&acirc;€¢ How does this differ from the architectures in the papers?
&acirc;€¢ Are there similarities in the architectures presented in the papers?
&acirc;€¢ What protocols (Standards) are being used?
&acirc;€¢ Are the protocols in the papers similar or different?
What are the similarities / differences?
&acirc;€¢ Could we create a unified protocol for control of remote agents?
For this assignment a good place to start would be to look at an example of an echo-server using Java Sockets.
To determine a free port on which the sockets can communicate, open a command line and use the command netstat -a.
When addressing the design component you should consider architectural design as well as static and dynamic modelling.
A. The client/server application has been completed to a high degree of technicality. The application is in good working order and is functionally proficient. The written component addresses the stated requirements to a high standard.
B. The client/server application has been completed to a goo