Team 7: Cybertone System
From SoftwarePractice.org
Contents |
System overview
The system being developed by CyberTone Systems, codenamed Universal Targeted Experience (UTX), will inform consumers, initially by displaying targeted advertisements, with the capability of expanding into other areas, such as personalised workforce alerts.
The system consists of hot spots (sensor fields) that will capture consumers' physical movement, location and body language. The system makes use of a wireless transmitter carried by the consumer to recognise who they are. The system can then retrieve information about the consumer and present content to them on an individual basis. Presentations can include video and audio, which will at first be implemented on an LCD, also utilising spatially localised audio.
All relevant information such as consumer personal details and shopping history will be kept securely in a private database.
Stakeholder needs / expectations
CyberTone Systems
Developer
Reekie is a 25 year old who graduated from University last year and is now employed with CyberTone Systems.
He’s enthusiastic and excited with the work he does. Reekie is up to date with technology, thinks outside the box and wants to be involved in the entire project. He believes being involved from start to finish will speed the project up and a better system will be produced. While developing this system he hopes to gain valuable experience in real-world applications. He expects the system to be modular and well-documented so that he can fix up and also just browse other parts of the system code.
Quality assurance
Bob is in the quality assurance team and is about to retire in two years time.
He is not up to date with technology, doesn’t care how the system is developed, is only interested in assessing the system and ensuring it meets all the expectations and works according to the guidelines. He needs it to be easy to understand and use while conforming to existing standards and expectations of audio-visual systems and advertising.
Management
Chris is the CEO of CyberTone Systems, while not being directly involved in developing the system he enjoys tinkering with new technology and talking with his partners about it. This new system is something he’s looking forward to seeing in action and wants it fully functional and to show it off to his partners and other organisations. He expects it to launch his company further into the public eye and to allow CyberTone Systems to become better known in the industry.
Bystander Technologies
Technician
Vanessa is 32 years old who believes technology is not only for men. She is a role model for the younger females and wants show them they can do this type of work too. At the same time she expects full training and a complete set of documentation from CyberTone Systems so that she is able to perform the installations herself once the system is complete and ready to go live.
Subscribers
Eduardo likes to stay ahead of the curve when it comes to fashion, and he has particular taste in top hats. He would like to be informed when something he might like is being sold nearby, or when new products that match his taste are released.
Potential audience
Michael a 21 year old enjoys looking through advertising pamphlets he receives in the mail to see what’s out there. He likes to be up to date on all upcoming sales and new releases but he is starting to find that it is too time consuming to read ALL of the advertising pamphlets out there to find what he's looking for.
Advertisers / Broadcasters
Melanie is well known among the advertisers. She is ahead in this game and plans to keep it that way by utilising this new technology. She doesn’t want to be restricted by the material she can advertise.
Civil Rights Group
Morris is a member of Amnesty (Australia), which deals with human rights issues including privacy, and wants to see this type of advertising shut down. He is against people's lives being stored in a database since he believes the information will be misused and can (and will) be compromised and some point and used maliciously.
Government
Howard from the wombat department isn’t too concerned about the technology or the different systems being used. He just expects the system to advertise appropriate material to an appropriate audience within the current privacy laws and regulations. While he is interested in using the system himself he doesn't want to have to deal with a public backlash against it if there are information leaks or any other such mishaps.
Hot spots/Deployment venues
Sarah the manager of Westfield in Parramatta has started to realise that some stores aren't getting the amount of business that they should, and that due to the large and often confusing nature of the shopping centre, people are leaving unsatisfied with their shopping experience as they could not find what they were looking for. She is hoping to find a system that will provide each customer the information about stores, locations and products that will see them have a better shopping experience and hence return in the future to make further purchases.
Contextual factors
Privacy
Privacy is potentially the most significant cause for failure of UTX. Keeping someone’s details and part of their life on record by electronic means is a great risk. Getting access to the information could be catastrophic. It would enable someone to take the identity of another person or hold them for ransom. An example would be the prime minister buying a product that he doesn’t want anyone knowing.
Of particular risk in this area is the centralised identity database used to store subscriber details. It is necessary that this database is secure.
The system is likely to encounter resistance from privacy and consumer rights groups. However, the fact that users must subscribe to the system should quell their protests.
Technological Experience
Time is on CyberTone Systems side since they have the research behind them. A lot of time was spent into some ground breaking research, and much was learnt, such as the use of complex algorithms for adapting image display and audio in response to physical movement information.
CyberTone Systems is the first company to look into this type of advertising so it has the edge over competitors in this area.
That said, the system has some limitations which will limit its potential uses. It particular, it's relatively one-way communication path, that is, from UTX to the subscriber. Only limited forms of communication are able to be sent from the subscriber to the system, such as body language and yes/no answers in the form of head nodding or swaying.
Customer needs
Usage Narratives
- Subscriber
Eduardo is a subscriber to ByStander Technologies' UTX consumer advertising program. He is walking through a facade inside Westfields Shopping Centre. For the last week he has been splurging on Topsy Turvy top hats from Tip Top Hats World.
As he walks, he and only he hears a female voice thats informs him that a new Tip Top Hats World has opened upstairs, and they are offering a special for customers this week. A large LCD screen changes to show Eduardo a map of his current location, and how to get to the new Tip Top Hats World store. Eduardo looks at the LCD, and starts walking toward the escalator. The UTX system observes that Eduardo has started making his way to the store, and Eduardo no longer hears the female voice.
- Creating a New User Profile
Michael is keen to not only get more information about products but more importantly, about products that interest him. He has heard about the UTX system so he opens up a web browser and goes to the CyberTone website. He then clicks on the "Register" link, and follows the prompts to become a subscriber. About a week later he receives his RFID card in the mail.
- Changing User Details
A few months later Michael decides that he is no longer interested in some of the products he mentioned while registering for the UTX system so he logs onto the CyberTone webiste with his subscriber details and password and proceeds to change his interests which are then updated in the subscriber database. The next time he goes shopping instead of receiving advertisements for a TV (which he has already purchased) he gets information about new sales on HD Set-top boxes which is what he is currently looking to purchase.
- Advertiser
John is the PR Manager for McDonalds Australia. He wishes to market his Happy Yellow Time Enjoyment Paradise meal to the parents of school aged children. He organises with ByStander Technologies to run a targeted advertisement at shopping centres that have a McDonalds store in them to children between the ages of 6 and 12.
Using a computer interface, an advertisement is designed which employs a big purple character, including the type of voice and tonality. The visuals are uploaded, and the responses to various subscriber behaviour, such as the speech and visuals, are described through the computer interface.
Quality Narrative
- Performance
Because the system's primary purpose is to present a medium of information to the subscriber in a short period of time, usually in the form of the image or voice of a human being, the system must be able to present such a persona without delay or distortion.
Narrative: Janine is a subscriber who has just stepped into the detection radius of a UTX sensor field. In 2 seconds or less, the system has identified her and begins to broadcast relevant audio to her. She hears the voice without interruption from other people walking past her. The image of a woman holding a rifle is displayed on the LCD screen. The image is without breaks or unnintended pauses.
- Extensibility
This quality is important because although the system will be implemented originally as an advertising presentation system, its use will probably be extended into other areas. What follows is a narrative describing a possible future use of the system: -
Narrative: Ted works for a multinational corporation called MegaTek, which has recently registered with ByStander Technologies to broadcast personalised messages to their workforce. Ted is waiting for his train at the train station when a male voice reminds him that his weekly progress meeting with the executives at MegaTek is today at 10AM. The voice informs him that Ted's estimated time of arrival is 8:49 AM. Ted returns to reading his book.
Conceptual architecture
The conceptual architecture structures the system in terms of its domain-level responsibilities. This is the elaborated conceptual architecture diagram which includes three stereotypes outlined in the legend to further clarify the system.
Each component in the system plays an important role. Initially it starts with a person subscribing to the system. This component is represented in the diagram as “New Subscriber”. Additionally two other related components exist. One is to update subscriber’s details and the other one is to delete a subscriber. The information is stored in the “Subscribers Details” database.
Once a subscriber is inside a hot-spot he/she is identified through the “Wireless Tag”. Additionally the “Motion Sensor” detects their physical movement, location and body language.
This data is then processed and analysed so that appropriate messages are displayed in terms of audio and video.
The message details are stored in a separate database. Broadcasters (which will initially consist of advertisers) sign up to the system through a separate "Broadcaster" interface before they can add, edit or delete their message "Subjects", which will initially be products. Just like the subscribers, Broadcasters are able to update their details or be removed from the system.
Component Responsibilities
- Subscriber: The three subscriber components New, Update and Delete are responsible for registering, updating and deleting subscribers from the system.
- Subscriber Identification is responsible for recognising a subscriber through the use of a Wireless Tag when inside the hot spot.
- Subscriber Details provides detailed information about subscribers registered with the system. This data is stored in a database.
- Location Detection detects the location of an individual inside the hot spot with the data it receives from motion sensors.
- Behaviour Processing receives data from the motion sensors and analyses it to determine the subscribers position, the object they are approaching and body language.
- Subscriber Summary component is responsible for acquiring the subscriber profile and generating the message they are meant to receive.
- Display Message component outputs the chosen material in the form of audio and video.
- Message Details provides information about Broadcasters and their subject/presentation content, which is stored in a database.
- Broadcaster The three broadcaster components Registration, Update and Delete are responsible for registering, updating and deleting Broadcasters from the system.
- Subject components New, Update and Delete are there so that Broadcasters can add new, update existing and delete existing topics of a message, such as a product, from the system.
Behaviour
The behaviour of the system is captured through the use of Use Case Maps. The purpose is to explore the system deeper by visualising a path of actions. The trace shows the sequence of activities and is triggered by an event. Each time the trace crosses a component, it exercises a responsibility.
By doing the use case map it also ensured that the system will work as expected and that tasks/events can execute without malfunctioning like missing events or components.
Execution architecture
Revised Execution Architecture
The execution architecture shows the concurrent subsystems during system execution.
The broadcaster and subscriber databases are seperate because the braodcaster database requires higher performance than the subscriber database, due to the fact that large quantities of message and content data may be required to be retrieved for message generation purposes.
The end user server is the means via which broadcasters and subscribers can be added, removed, modified and where other details can be entered, such as subjects.
The wireless tag detector and motion sensors are active, generating asynchronous calls when they detect relevant events, such as a subscriber entering a hot spot.
Data from the wireless tag is used by the Subscriber Identification component, which uses the RF code and matches it with a subscriber in the database, if any.
The Gesture Processor is the component which, using data from the motion sensor, identifies and categorises physical movements of the subscriber and initiates new messages based on those actions. For example, approaching a store, moving toward an exit, etc.
The Message Generator service decides what message the subscriber should see, depending on his or her preferences and related information, and retreives the required audio/visual data from the broadcaster database to be presented to the subscriber. This data is then processed by the Presentation Generator, which, for example, generates spatially focussed audio for the subscriber, or decompresses video to be displayed on the LCD.
Due to privacy concerns identified in the contextual factors, security flaws may be found in the system which will need to be rectified. The choice of DBMS may affect the performance and security of the system.
Key Event Use Case Maps
This use case demonstrates that web operations performed by broadcasters and subscribers pass through the End User Server via the HTTP protocol. Each respective type of user performs operations on seperate databases, thereby avoiding possible bottlenecks where a broadcaster is kept from being able to change its settings because of a surge of subscriber activity.
This use case also demonstrates that administrative operations performed by broadcasters and subscribers do not affect the performance of the realtime and related components.
This use case is executed when the wireless identification card each subscriber carries is detected. The Subscriber Identification component cross-references the ID on the card to see if a matching subscriber exists in the Subscriber Details database. If so, it informs the Message Generator.
This use case demonstrates the flow of activities that occurs when a gesture (such as a subscriber approaching, or walking away) is detected by the Gesture Processor realtime component using the Motion Sensor.
The Gesture Processor informs the Message Generator of the nature of the event, and the Message Generator retrieves the subscriber information from the Subscriber Details database. Using that information, it creates assembles the message the subscriber will see/hear using information from the Message Details database, which it then passes on to the Presentation Generator to be presented to the subscriber.
Implementation architecture
Implementation Architecture
The Subscriber/Broadcaster Interfaces are used to enable end users to operate on their respective databases. The Web Server routs their requests to the appropriate MySQL database.
For the implementation of the database system we chose MySQL because it is a free, robust and open-source off-the-shelf product that is well supported.
The runtime processing of the audio/visual/motion/wireless data is performed in the Java Runtime Environment. The JRE is a fast, reliable and widely supported platform. It was also a project requirement that we use this environment. The code executing on the JRE communicates with the databases in order to retrieve subscriber/broadcaster data, such as message content or personal information, and also updates it where necessary.
The code that is executed on the JRE is custom code that processes realtime information from the sensors, and produces appropriate audio/visual streams for the subscriber. These audio/visual streams are decoded by the audio/video controllers which produce the actual audio/visuals and present them to the subscriber on location.
Anticipated issues
SVN/TortoiseSVN is terrible, terrible software and probably the cause of many nightmares for developers worldwide. If this were the medieval era, one would would hope its creators would be burned at the stake and a hall of shame erected in their dishonour to avoid future such tragedies. It is anticipated that SVN will not improve in time for the next milestone, and cause many more headaches.
Web References
Group Members
Hanh Nguyen
Michael Thomas
Beno Gorancic - www.gorancic.com
Instructor comments
You need to work on your project! Lian 26th March
Milestone 1 Feedback
Quite good analysis and design work. Here are some comments:
- The range of stakeholders is good, but many of the narratives are quite weak and don't really capture realistic stakeholder needs. An example of a well written narrative is the Civil Rights one.
- Only 2 usage narratives! This is not enough. What about a new subscriber, or a subscriber changing their preferences. What about a system maintainer? However the two you have are well written.
- In terms of function/scope, the system is not limited to voice output, it can output all kinds of sounds.
- Quality narratives are good!
- Initial conceptual architecture - where is it??
- Conceptual architecture is quite good, but need to combine the Subscriber UI components into a single component. Same applies to the other categories of UI. Might consider a maintenance/status component for monitoring/reconfiguring/testing the system and equipment.
- UCM diagram looks okay, but without explanation is almost useless. I question how Location Detection works. It may need location data from the wireless tag, otherwise how will the system know which person in which zone to track?
- Execution architecture is well done. Only missing explanation for Subscriber Identification and Gesture Processor components.
- Implementation architecture is quite good. But I question the need for the Wireless Controller and API, and the Gesture Controller/API. Perhaps a wireless protocol connection from the Wireless Tag. The motion sensor inputs incoming video data to be analysed. The video data would be routed from several cameras. Would not be "MySQL API" - show this as a network protocol if that is the decision. Label all the Application components. Why only Web interfaces? Maybe a non-web interface application would be built that resides in certain locations.
Lian 28th April





