The first assignment looked at communicating devices using J2ME where There was either no networking or the identities and locations of each device were known. "home grown" procotols were used for the messages. The second assignment is to use one (or more) of the current technologies for service discovery and communication. The scenario for this assignment is the same as in assignment one: this assignment looks at how home devices such as TVs, etc can be controlled by a simple wireless device. This shows how dedicated infrared TV/video/CD/etc controllers can be replaced by a single programmable device, where the device discovers the services it is controlling.
This assignment has graded levels. The simplest version will be given a Pass if done satisfactorily, but to gain higher grades more features will have to be added.
For this assignment, consider three devices: a mobile phone, a TV, a CD player and an amplifier. All four will be applications running J2SE (not J2ME runtime environments. The phone will run an application that can discover, query and control the other three using some discovery technology. Interfaces for all three devices can be based on the devices of assignment one.
The mobile phone will run an application capable of discovering other devices, sending requests to them and registering for event changes.
You should hand in the following
You will be asked to demonstrate your system during your tutorial, in addition to handing in the above materials.
Using J2SDK, write four applications, one for each of the mobile phone, the TV, the CD player and the amplifier. All four can be run using the standard Java virtual machine. Any style of interface will do (or no interface at all) using terminals, AWT or Swing.
The devices discover and communicate using one of the following discovery technologies
The phone application is able to discover, control and query the other devices by sending messages corresponding to each of the devices' interface definitions. The exact details of the definitions of the devices/services are up to you.
Completion of the assignment to this level will normally be given a Pass.
The specification given above will gain a Pass grade if done satisfactorily. Higher grades will be given on completion of additional functionality. Each additional function will gain an extra grade. The additional functions are listed below
This assignment (and the next one) may be done in groups of two. Requests to form a group of three or more will not be accepted, even if your partner disappears the day before the assignment is due, having done no work. While the assignment may be done individually, the same level of achievement of a two-person group will be expected.
The assignment is due by 4pm, Friday 3 June, the end of week 13. Unoficially, assignments will be accepted upto noon of Monday June 6. There will be a demonstration of the project during the tutorial of week 13.