CPE 5009 Internet Devices and Services

Assignment Two
Semester 1, 2005

Introduction

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.

Details

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.

Deliverables

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.

Base level

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.

Assignment levels

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

Multiple discovery technologies
Writing one base system using Jini and another base system using UPnP
Multiple languages
UPnP: using C/C++ or .NET for one service and Java for another
UI
Exporting a user interface from a device that can be used to control it
Alarms
Add in an alarm service, which (like an alarm clock) sounds an alarm when a certain time is reached. The alarm should contain a text message about the alarm (e.g. "Simpson's starting in ten minutes"). Add a mechanism to inform the mobile phone if a alarm occurs, using an event registration mechanism
Fridge door
People sharing a house or flat often leave messages for each other on the fridge door. Make this into another service, so that messages sent to the "fridge door" service from any one mobile phone will be sent to everyone else on a list maintained by the door

Group size

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.

Further assessment criteria

Due date

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.


Jan Newmarch (http://jan.newmarch.name)
jan@newmarch.name
Last modified: Sun May 1 14:36:15 EST 2005
Copyright ©Jan Newmarch
Copyright © Jan Newmarch, Monash University, 2007
Creative Commons License This work is licensed under a Creative Commons License
The moral right of Jan Newmarch to be identified as the author of this page has been asserted.