Implementation of Intelligent Multimedia...

44
Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface 30 th April 2009 Page 1 W J McDevitt & G J McGlinchey COM-556 Assignment-2: Implementation of Intelligent Multimedia Interface Thursday 30 th April 2009 W J McDevitt – B00362059 G J McGlinchey – B00362061 Lecturer: Professor Paul McKevitt

Transcript of Implementation of Intelligent Multimedia...

Page 1: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 1

W J McDevitt & G J McGlinchey

COM-556 Assignment-2:

Implementation of Intelligent Multimedia Interface

Thursday 30th April 2009

W J McDevitt – B00362059 G J McGlinchey – B00362061

Lecturer:

Professor Paul McKevitt

Page 2: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 2

W J McDevitt & G J McGlinchey

Acronyms CSLU Centre for Spoken Language Understanding HCI Human Computer Interaction RAD Rapid Application Developer TCL Tool Command Language UML Unified Modeling Language

Page 3: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 3

W J McDevitt & G J McGlinchey

Table of Contents Acronyms .................................................................................................................... 2 List of Figures .............................................................................................................. 4 List of Tables ............................................................................................................... 5 Abstract ....................................................................................................................... 6 Deliverables ................................................................................................................ 6 1 Introduction .......................................................................................................... 7

1.1 Aims and Objectives...................................................................................... 8 1.2 Overview of Chapters .................................................................................... 8

2 Background & Literature Review ........................................................................ 10 2.1 Intelligent Multimedia ................................................................................... 10 2.2 Related Papers ........................................................................................... 10 2.3 CINEMAX .................................................................................................... 11 2.4 CSLU Toolkit ............................................................................................... 11 2.5 CLSU tools and technologies ...................................................................... 12

3 Requirements Analysis ....................................................................................... 14 3.1 Functional User Requirements .................................................................... 14 3.2 Functional System Requirements ................................................................ 14 3.3 Non-functional User Requirements .............................................................. 15 3.4 Non-functional System Requirements ......................................................... 15 3.5 System Hardware and Software Requirements ........................................... 16

4 Design ................................................................................................................ 17 4.1 User use case diagram ............................................................................... 18 4.2 System use case diagram ........................................................................... 19 4.3 Storyboard .................................................................................................. 20

5 Implementation ................................................................................................... 21 5.1 Hardware/ Software Configuration ............................................................... 21 5.2 Main and sub dialogue toolkit maps ............................................................ 21

5.2.1 Main system toolkit map ....................................................................... 22 5.2.2 Tickets sub-dialogue ............................................................................ 22 5.2.3 Film information sub-dialogue .............................................................. 23 5.2.4 Food sub-dialogue ............................................................................... 23 5.2.5 Quiz sub-dialogue ................................................................................ 24

6 Testing ............................................................................................................... 26 6.1 White Box Testing ....................................................................................... 26 6.2 Black Box Testing ....................................................................................... 26 6.3 Unit Testing ................................................................................................. 26 6.4 Test Plans ................................................................................................... 26 6.5 Additional Testing and feedback.................................................................. 27 6.6 Summary of testing process ........................................................................ 27

7 Conclusion & Critical Analysis ............................................................................ 28 7.1 Conclusion .................................................................................................. 28 7.2 Critical analysis ........................................................................................... 28 7.3 Future work ................................................................................................. 28

References ................................................................................................................ 29 Appendix A - Transcripts of the three test runs .......................................................... 30

Test run one ....................................................................................................... 30 Test run two ....................................................................................................... 31 Test run three ..................................................................................................... 32

Appendix B: Test Cases ............................................................................................ 33 APPENDIX C -Object list ........................................................................................... 38

Page 4: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 4

W J McDevitt & G J McGlinchey

List of Figures Figure 1 CSLU toolkit outline - CSLU Toolkit (2002) .................................................. 12 Figure 2: User Use Case Diagram ............................................................................. 18 Figure 3: System Use Case Diagram ........................................................................ 19 Figure 4: Storyboard .................................................................................................. 20 Figure 5: CSLU toolkit map of final working system ................................................... 22 Figure 6: Tickets sub-dialogue map ........................................................................... 22 Figure 7: Film information sub-dialogue map ............................................................. 23 Figure 8: Food sub-dialogue map .............................................................................. 23 Figure 9: Trivia quiz sub-dialogue map ...................................................................... 24 Figure 10: Basic objects that ship as part of the CSLU Toolkit .................................. 24

Page 5: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 5

W J McDevitt & G J McGlinchey

List of Tables Table 1: System hardware and software requirements .............................................. 16 Table 2: Implementation Hardware and Software ...................................................... 21 Table 3: The main CLSU objects used in the CINEMAX system ............................... 25

Page 6: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 6

W J McDevitt & G J McGlinchey

Abstract The aim of this project is to develop and implement an interactive speech-

based application, for the purpose of providing a cinema seat booking system.

The idea behind the system is to allow public kiosks to be installed in local

shopping areas, where members of the general public could pre-book cinema

seats and a cinema style food pack for eating during the film, just by

communicating to the system and telling it what they wanted and answering

any questions the system may have.

A discussion then follows on the lifecycle of the project including objectives,

requirements analysis, design, implementation, testing and finally a review of

the CINEMAX system that will show the benefits of using a spoken language

application.

The application that was created uses many of the features available in the

CLSU toolkit to enable a user to communicate with the CINEMAX system to

review the current films, book seats at the cinema for a particular film, choose

the typical cinema food to be made up into a pack for collection and finally pay

for all the items in advance so that when the user turns up at the cinema there

is minimal waiting or queuing.

Deliverables A report documenting background research in the field of intelligent

multimedia, when applied to the defining the aims and objectives,

requirements analysis, design, implementation, testing and finally a

review of the CINEMAX system

An implementation of the CINEMAX system using the CSLU toolkit

Rapid Application Developer.

Presentation of the final application by both the team members.

Page 7: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 7

W J McDevitt & G J McGlinchey

1 Introduction This chapter will give an introduction into spoken application development and

will then go on to list the project aims and objectives closing with a summary of

each of the chapters in the report.

Companies are always looking at reducing costs especially in the current

economic environment one of the biggest costs to a company is staff, those

companies with a chain of cinemas are no exception. This paper describes a

cinema seat booking system designed as a kiosk which customers can use at

local shopping areas prior to going to the cinema to pre-book cinema seats and

food. For the cinema company this means that machines could handle the

entire ticketing process and staff could prepare food packs in advance and

even out the work load rather than havening peak and troughs in workload.

The benefits also rollover to the customer because there is no waiting when

they arrive they just put their credit card into a machine and that validates the

transaction and prints out the cinema seat tickets and a ticket to collect the

food pack.

A dialog system is a term given to a computer system that is designed to converse

with a human being, they typically are made up of a speech recogniser which

acts as the input device, a language processing device which converts the

input to something meaningful that it can understand and then using the

database a reply is generated and returned through the output device such as

a graphical interface tied to a speech generator.

The CSLU Toolkit, is an example of a dialogue system, it is discussed in detail

later in this report and was also used to create the final CINEMAX system in

this project. The aim of the group who created it was to develop a system that

would further develop the field of human computer interaction (HCI) and

dialogue systems in education and basic research programmes.

Page 8: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 8

W J McDevitt & G J McGlinchey

1.1 Aims and Objectives The aim of this project is the design and implementation of a speech driven

cinema booking system known as “CINEMAX”. The main objective of the

system is game is to develop a cinema seat booking system that can be

installed in a kiosk that will enable users with no computing skills to use the

system just by talking to it and telling it what they want and answering any

questions it may have.

It is also hoped that using this novel approach my also help with cinema sales

therefore it must have a simple and easy to use interface otherwise it may fail

and therefore it will end up costing the company money who intended it as a

means to reduce staff costs.

1.2 Overview of Chapters This section gives a summary of the report broken down into its seven

chapters.

Chapter 2 Background & Literature Review This chapter is concerned with the background research conducted into

Intelligent Multimedia and its implications for the design of CINEMAX. It also

reviews the CSLU toolkit, the software used to develop the CINEMAX system. Chapter 3 Requirements Analysis This chapter is concerned with identifying all the requirements for the

CINEMAX system; these include the hardware, software, functional, non-

functional, user and system requirements.

Chapter 4 Design This chapter is concerned with the conversion of the information gathered

during the requirements analysis phase into a design specification for

CINEMAX utilising industry standard human computer interaction (HCI)

guidelines.

Chapter 5 Implementation This chapter is concerned with the conversion of the design into the working

CINEMAX system.

Page 9: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 9

W J McDevitt & G J McGlinchey

Chapter 6 Testing This chapter is concerned with the testing process of the CINEMAX system

namely the techniques and tests used to verify that it works as required.

Chapter 7 Conclusion & Critical Analysis This chapter provides a conclusion and critical analysis of the system covering

issues, problems and opportunities for improvement.

Page 10: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 10

W J McDevitt & G J McGlinchey

2 Background & Literature Review This chapter is concerned with the background research conducted into

Intelligent Multimedia and its implications for the design of CINEMAX. It also

reviews the CSLU toolkit, the software used to develop the CINEMAX system.

2.1 Intelligent Multimedia Multimedia deals with providing a response to some input to a computer

system, however the field of intelligent multimedia or IntelliMedia relates to how

humans and computer systems can interact not only using normal input

methods such as the keyboard and mouse but goes further by taking the

interaction and attempting to understand the context by processing the

semantic representations of the actual text, movement, speech or visual input.

Intelligent Multimedia continues to grow and it is almost the norm now to

expect a system that can handle multimodal, (more than one), input for

example speech and movement and then give a multimodal reply. This is

summarised very well by the quote; “IntelliMedia, which involves the computer

processing and understanding of perceptual input from at least speech, text

and visual images and then reacting to it, is complex and involves signal and

symbol processing techniques from not just engineering and computer science

but also artificial intelligence and cognitive science” (McKevitt, 1994)

2.2 Related Papers There are a number of papers that are of interest or relate directly to the

CINEMAX system, these include components that use speech to interact with

a system and gestures from a system while giving a reply.

The Smartkom system dealt with the capture of the human interaction through

a multimodal approach namely by taking input from three sources namely a

microphone for speech, a facial expressions camera and a camera to

recognize gestures.

Page 11: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 11

W J McDevitt & G J McGlinchey

The Behaviour Expression Animation Toolkit (BEAT) was a system that takes

typed input and the system then processes the input by applying the necessary

linguistic and contextual information so that the animated character says the

input sentence with the appropriate voice intonation as well as hand arm and

face gestures.

The importance of linking language and behaviour to show intelligent

behaviour is discussed in Srihari’s paper on the “Computational Models for

Integrating Linguistic and Visual Information”, this is important in the CINEMAX

system as it is intended to replace a human with a machine.

Bolt’s paper titled “Put – That - There”: Voice and Gesture at the Graphics

Interface” was reviewed however was not really relevant to this system while it

focuses on speech recognition it does so in the context of linking speech

recognition and position sensing.

2.3 CINEMAX The CINEMAX system is an interactive speech-driven system; this means that

while there are visual prompts displayed on screen at each stage of the

process all interaction with the system is by the use of voice, to the extent that

no mouse or keyboard is required to navigate through the system.

The reason that it was decided not to use a keyboard or mouse was to make it

more natural namely if you are at the cinema the attendant asks you what you

want and you tell them, you do not type your reply using a keyboard.

Additionally this builds on work done by the authors in this field and the subject

matter of the COM556 module.

2.4 CSLU Toolkit The CSLU Toolkit (Centre for Spoken Language Understanding) was

developed in the research centre at Oregon Graduate Institute of Science and

Page 12: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 12

W J McDevitt & G J McGlinchey

Technology in 1992. It was developed to provide a framework for developers

to research the area of interactive language systems and uses graphical

authoring tools that makes development of applications relatively easy as little

or no programming knowledge is required.

Figure 1 gives an overview of the CSLU toolkit. It shows the main toolkit

components and the typical end uses of the technology.

Figure 1 CSLU toolkit outline - CSLU Toolkit (2002)

2.5 CLSU tools and technologies The CSLU provides a number of tools and technologies to develop an

application these include:

Speech recognition and synthesis

The system has the ability to not only recognise speech as an input but carry

out text-to-speech conversion and convert text input to synthetic speech

output. Similar to the facial animation this synthetic speech can be

personalised to suit the creator’s style or the application end use for example

by using a male or female voice

Page 13: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 13

W J McDevitt & G J McGlinchey

Facial animation

To make the system more human like the system provides a number of

realistic animated characters with facial expressions and movements that can

be personalised to suit the creator’s style or the application end use.

Authoring tools

Rapid Application Developer (RAD) is a tool that uses a drag-and-drop

interface to quickly design and build a speech application

Programming environment

The main programming environment is done using the Tool Command

Language (TCL). TCL is a scripting language that allows programmers to write

in a format similar to Lisp and use regular expressions however it also comes

with a large library and application interfaces to support application

development. The system also supports the use of C and even Prolog and is

designed to run on various operating systems in use today.

Waveform analysis tool

The system provides the ability to record and manipulate speech displayed

graphically as waveforms.

Page 14: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 14

W J McDevitt & G J McGlinchey

3 Requirements Analysis This chapter is concerned with identifying the design requirements that the

CINEMAX system should provide, what it should and should not do . These

requirements include the hardware, software, functional, non-functional, user

and system requirements.

3.1 Functional User Requirements The User must be able to control the system using only speech.

The User should be allowed to select their choice of tickets, food or film

information.

The User should be able to accept or reject and correct a mistake in the

systems interpretation of their answer

The user should be able to select a particular film

The user should be able to select the number of adult tickets

The user should be able to select the number of child tickets

The user should be able to select information on a particular film

The user should be able to play the trivia quiz

The User should be able the cancel the process

3.2 Functional System Requirements The system must be able to pick up the users’ responses correctly.

The System should load and be ready for the user to start

The System should provide a graphical display of the three options

tickets, food and film information

The System should verify the users input by confirming their option what

they said

The system should retrieve the current list of film option from the

database

The system should prompt then confirm the user to select a film option

when ordering tickets

The system should prompt then confirm the user to select the number of

adult tickets

Page 15: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 15

W J McDevitt & G J McGlinchey

The system should prompt then confirm the user to select the number of

child tickets only after there is more than one adult

The system should calculate the cost of tickets

The system should remind user if the have not ordered any food.

The system should prompt then confirm the user to select one of the

three meal deals then prompt for the quantity of that meal deal

The system should calculate the cost of the food

The system should remind user if the have not ordered any tickets.

The system should calculate the total cost and inform the user

The system should inform the user to insert credit card

The system should put a pre-authorisation on the credit card and then

go back to main menu

The system should allow the user to review film information

The system should prompt then confirm the user to select the number of

film to be reviewed

The system should display the film information then close the webpage

when the user is done

The system should ask the user do they want to participate in a film quiz

The system should select a question from the database and then ask

the user for the correct answer one, two or three.

The system should inform the user if they are correct or not

The system should return to main menu

The system will offer the user to repeat any process or go to main

menu.

3.3 Non-functional User Requirements User should be able to access the application from kiosk (with a PC).

The user will have an interface associated with the application.

3.4 Non-functional System Requirements The system needs to be completed by 30th April 2009

The system should be easy to use with no experience required

Page 16: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 16

W J McDevitt & G J McGlinchey

The System will be developed using CSLU Toolkit RAD.

The system should be design to be reliable particularly as it is in a stand

alone environment of a kiosk.

Thorough testing need to be conducted and completed

The system should carry out each task as quickly as possible

The system should be developed to allow easy future developments or

added scope

The program code should be well documented

HCI standards must be adhered to.

3.5 System Hardware and Software Requirements

CPU Speed Minimum 600 MHz

Memory Minimum 256MB RAM

Internet Connection Dial-Up or Broadband Access

Software CSLU Toolkit – Available to download

at: http://cslu.cse.ogi.edu/toolkit

Operating System Windows 2000, Windows XP

Hardware Personal Computer (PC), Monitor,

Keyboard, Mouse, soundcard,

Microphone & Earphones

Database Microsoft Access

Table 1: System hardware and software requirements

Page 17: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 17

W J McDevitt & G J McGlinchey

4 Design This chapter is concerned with the conversion of the information gathered

during the requirements analysis phase into a design specification for

CINEMAX utilising industry standard human computer interaction (HCI)

guidelines. To make the conversion from requirements to an actual design a

number of tools are available however it was decided to use Unified Modelling

Language (UML) because as a modelling system it provides an easy way to

visualise the system.

Following on from the both the authors work on a HCI design for a cinema kiosk

system, Condell et all (2008). HCI standards must be adhered to, these include;

o Consistency

User input, system output, form layouts and colour

schemes should be consistent across all screens;

o Minimise user input

o Feedback

Provide user feedback for all actions performed

o Error Prevention

Validate user inputs and disable inactive form controls.

o Aesthetics & User Expectation

Clear and uncluttered design with clear functionality for

each form.

Page 18: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 18

W J McDevitt & G J McGlinchey

4.1 User use case diagram

Figure 2: User Use Case Diagram

Page 19: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 19

W J McDevitt & G J McGlinchey

4.2 System use case diagram

Figure 3: System Use Case Diagram

Page 20: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 20

W J McDevitt & G J McGlinchey

4.3 Storyboard This was the initial storyboard used to create design the film.

Figure 4: Storyboard

Page 21: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 21

W J McDevitt & G J McGlinchey

5 Implementation This chapter is concerned with the conversion of the items highlighted in the

previous chapters into the final working CINEMAX system. To make the testing

stage easier, continuously during the development the system was tested

against these items. Appendix C contains all the objects, their descriptions

and TCL code.

5.1 Hardware/ Software Configuration The actual hardware and software configuration that was used in the design

develop and implement the system is listed in table 2.

CPU Speed Centrino Duo-1.8 GHz

Memory 1.5GB RAM

Internet Connection Broadband Access

Software CSLU Toolkit

Operating System Windows XP SP3

Hardware

Compaq NX7400 Laptop Computer

(IBM-PC), with built in

Keyboard, Mouse & soundcard.

Noise cancelling

Microphone & Earphones

Database Microsoft Access

Table 2: Implementation Hardware and Software

5.2 Main and sub dialogue toolkit maps The CSLU Toolkit was the main application used to develop the application

Figure 5 shows the CLSU toolkit map of the final system.

Page 22: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 22

W J McDevitt & G J McGlinchey

5.2.1 Main system toolkit map

Figure 5: CSLU toolkit map of final working system

5.2.2 Tickets sub-dialogue

Figure 6: Tickets sub-dialogue map

Page 23: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 23

W J McDevitt & G J McGlinchey

5.2.3 Film information sub-dialogue

Figure 7: Film information sub-dialogue map

5.2.4 Food sub-dialogue

Figure 8: Food sub-dialogue map

Page 24: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 24

W J McDevitt & G J McGlinchey

5.2.5 Quiz sub-dialogue

Figure 9: Trivia quiz sub-dialogue map

As shown in the CSLU toolkit map of the final system and various sub-dialogue maps

there are a number of various icons, these icons are referred to as objects in the

CSLU toolkit. Figure 3 shows the names of the base objects.

Figure 10: Basic objects that ship as part of the CSLU Toolkit 1

1 http://www.cslu.ogi.edu/toolkit/docs/2.0/apps/rad/objects/index.html

Page 25: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 25

W J McDevitt & G J McGlinchey

Table 3 gives a description of the main CSLU toolkit objects and a summary of their

function within the CINEMAX system.

Start This was used in order to

start the implementation of

the system and to point

where the dialogue starts

Generic Object This is used to connect

dialogues together

Sub Dialogue object This is used mainly to

organise the system into

components

media object This is used to insert an

image and display or

remove it in the system

Goodbye object This is used to exit the

application

Action object This is used to run TCL

code.

Table 3: The main CLSU objects used in the CINEMAX system

Page 26: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 26

W J McDevitt & G J McGlinchey

6 Testing This chapter is concerned with the testing process of the CINEMAX system

namely the techniques and tests used.

During the development phase the system was tested for functionality and

completeness. For example, during the build process the system would stop at

the point where there was error it had detected, this would allow the

programmer to correct the error and then continue, however this does not do

away with the need of a formal testing process. Therefore to ensure that the

application functioned correctly the three standard methods of testing were

used namely white box, black box and unit testing.

6.1 White Box Testing This is the term given to describe the process of testing each line of code of

the overall system. It was quite time consuming to carryout this process as

every possible path through the code has to be followed.

6.2 Black Box Testing This is the term given to describe the process that is essentially the complete

opposite of white box testing, namely that you do not care how the system

does the task just that the output is correct for a given input.

6.3 Unit Testing This is the term to describe the process where each individual component is

tested to ensure that they operate correctly.

6.4 Test Plans To facilitate the complete testing process a test plan was written which had a

series of test scripts to find out if the system meets all the specifications laid

out in the earlier chapters. For each script item an expected result is listed for

comparison against the actual result achieved. The completed test plans can

be seen in Appendix B.

Page 27: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 27

W J McDevitt & G J McGlinchey

6.5 Additional Testing and feedback The system was also tested on thirteen people this was to test for issues that

the developers who are using the system daily may over look due to their

familiarity with it. The general consensus from the test candidates was that

they liked the concept however the practicalities and issues with the system

the consensus was that they would probably prefer to use a touch screen

backup or just get in the queue at the cinema.

6.6 Summary of testing process The testing of CINEMAX was very successful mainly due to the effort during

the development to ensure that all the validation and verification was done and

correct and complete, if this had not been done then during the final white box

and black box testing process would have resulted in a lot of effort to track and

correct the problem.

Page 28: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 28

W J McDevitt & G J McGlinchey

7 Conclusion & Critical Analysis This chapter provides a conclusion and critical analysis of the system covering

issues, problems and opportunities for improvement

7.1 Conclusion In conclusion the system while having met all the requirements laid out in the

initial chapters of the report, like any system that is envisaged, designed and

implemented in a short time frame there is always room for improvement.

However any improvements can be easily added to the system as it has been

developed using RAD approach and software system.

7.2 Critical analysis As discussed in the testing process the system was tested on a group of thirteen

people whole like the concept but the recurring issue with the system was the speech

recognition, several times the system would not recognise the user’s speech and the

users had to repeat the answer and two actually gave up.

There is a fundamental flaw in the system in that it is prejudicial to those who are deaf

or hard of hearing, so maybe the spoken word could be displayed on the screen also

a backup to use a touch screen if the kiosk is a very noisy area

7.3 Future work As highlighted in the critical analysis of the CINEMAX system speech recognition was

an issue so an analysis of the input words used by system could be carried out and

where applicable changed words changed to be more phonetically different.

The scope of the project could be increased further to allow the user to select actual

seats in the system.

Page 29: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 29

W J McDevitt & G J McGlinchey

References BEAT: the Behaviour Expression Animation Toolkit, SIGGRAPH, 2001 –

Videos and Software download available at:

http://www.ru.is/faculty/hannes/beat/

Bolt R. A. (1979) “Put-That-There”: Voice and Gesture at the Graphics

Interface ” Massachusetts Institute of Technology, Cambridge, Massachusetts

Condell JV, J. McDevitt, D. McGilloway, J. McGlinchey , G. Galway, (May

2008) "Seat Booking System for a Cineplex", Computer and Information

Science (Quarterly), Vol. 1, No. 2, Canadian Center of Science and Education

(CCSE), ISSN 1913-8989, Pages 67-79, available online at:

http://ccsenet.org/journal/index.php/cis/article/viewFile/1912/1817

EMOTE model, 2000, Chi, D., Costa, M., Zhao, L., and Badler, N., The

EMOTE model for effort and shape. SIGGRAPH 2000 Conference

Proceedings, ACM SIGGRAPH, Addison Wesley, pp. 173-182, 2000.

McKevitt, P, (1998), A platform for developing multimedia applications, [online].

Available from: http://www.infm.ulst.ac.uk/~paul/pubs/report.pdf

Srihari (1995) Computational Models for Integrating Linguistic and Visual

Information

Wahlster et al (2001), Smartkom: towards multimodal dialogues with

anthropomorphic interface agents.

Page 30: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 30

W J McDevitt & G J McGlinchey

Appendix A - Transcripts of the three test runs Test run one Run 1 Order Tickets

System Please Select one of the following Options. Say Tickets to Order Tickets. Say Food to order Food. say Films for Film information. Say Quiz to try our fun Quiz.

User Tickets

System You want to order Cinema Tickets? is this Correct?

User Yes System Say One for Hannah Montanna

Say two For Marley and Me Say three for Ghost Say four for the Omen

User One

System So you want to see Hannah Montanna is this correct?

User Yes System How Many Adult Tickets? User One System One Adult Tickets, is this Correct? User Yes System How Many Child Tickets? User One System one childrens Tickets, is this Correct? User Yes System Would You Like to Order some Food? User No

System

You have 1 adult tickets and 1 childrens tickets for Hannah Montanna that is 8 pounds. the Cost for your drinks and snacks is 0 So Your Total Bill Is 8 pounds Please insert debit or Credit Card. Then enter your pin number

System Processing Card. Payment received, thank you. Please remove Card. Enjoy your Movie.

Page 31: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 31

W J McDevitt & G J McGlinchey

Test run two Run 2 Order Food System Please Select one of the following Options.

Say Tickets to Order Tickets. Say Food to order Food. say Films for Film information. Say Quiz to try our fun Quiz.

User Food System You would like to Order some food is this Correct? User Yes System Please Select one of the following Options.

Say One for Meal Deal One Say Two for Meal Deal Two Say Three for Meal Deal Three

User One System How Many Meals do you Want? User One System So you want 1 Meal deal Number one, is this correct? User Yes System Would you Like Other Meal Deals? User No System Would You Like to Order some tickets? User No

System You have 0 adult tickets and 0 childrens tickets for Any film that is 0 pounds. the Cost for your drinks and snacks is 5 So Your Total Bill Is 5 pounds Please insert debit or Credit Card. Then enter your pin number

System Processing Card. Payment received, thank you. Please remove Card. Enjoy your Movie.

Page 32: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 32

W J McDevitt & G J McGlinchey

Test run three Run 3 Order Food System Please Select one of the following Options.

Say Tickets to Order Tickets. Say Food to order Food. say Films for Film information. Say Quiz to try our fun Quiz.

User Films System You want to view Film Information, Is this Correct? User Yes

System To view Film information please listen to the following options Say One for Hannah Montanna Say two For Marley and Me Say three for Ghost Say four for the Omen

User One

System So you want to see information Hannah Montanna is this correct?

User Yes

System When Finished Reading Hit the X on the top right of the browser screen and Say Finished

Page 33: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 33

W J McDevitt & G J McGlinchey

Appendix B: Test Cases No. Purpose / Object

name Test data / Activity

Expected Result

Pass / Fail Comments

1 ShowFrontScreen Open Front Screen picture

Front Screen picture opened Pass

2 FilmChoices

Get Film Information from Database

Film Information retrieved from Database Pass

3 Greeting

Ask the User to Say Start to begin the application and display the menu options

the User said Start the application began and displayed the menu options Pass

4 HideFrontScreen Closes the front screen

front screen closed Pass

5 ShowMenuScreen Shows the menu options screen

menu options screen displayed Pass

6 Options

Prompts user for menu option for Tickets, Food or Film Info

User prompted for menu option for Tickets, Food or Film Info Pass

7 BuyTicketsConfirm

Prompt to ask the user if they have selected Tickets as the option

User prompted to select Tickets as the option Pass

8 HideMenuScreen

Closes the menu screen before entering a subDialogue

menu screen closed before entering a subDialogue Pass

9 TicketsSub

Sub dialogue that connects the objects for Ordering tickets

objects connected for Ordering tickets Pass

10 CheckNeedFood

Check whether the user has already ordered food based on the Foodcost variable being equal to zero

Checked that the user has already ordered food using the Foodcost variable equal to zero Pass

11 LikeFood Ask if user wants to order food

Ask if user wants to order food Pass

12 TotalTicketCost

Calculates the Total ticket cost for adults and children

Calculated the Total ticket cost for adults and children Pass

13 HideFilmOptions Hides the Film Options Screen

Film Options Screen hidden Pass

14 ShowPayments Shows the Payment screen

Payment screen displayed Pass

Page 34: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 34

W J McDevitt & G J McGlinchey

15 FinalConfirmPrice

Provides a summary of all items purchased along with the process of food and the price of tickets and the total prices

Summary provided of all items purchased along with the process of food and the price of tickets and the total prices Pass

16 Payment Received

Notifies the user that Payment has been taken off the credit or debit card

User notified that Payment has been taken off the credit or debit card Pass

17 Hide Payment Screen Hides the Payment screen

Payment screen hidden Pass

18 Again

Takes the user back to the start screen for the next user

system returned to the start screen for the next user Pass

19 FoodOptions Show the Food Options screen

Food Options screen displayed Pass

20 BuyFoodConfirm

Prompts the user to confirm that the have chosen the Order food option

user prompted to confirm that they have chosen the Order food option Pass

21 FoodSub

Sub dialogue that connects the objects for Ordering food

Sub dialogue objects connected for Ordering food Pass

22 AddFoodCost

Adds the Food Cost to the Ticket Cost

Food Cost added to the Ticket Cost Pass

23 CheckNeedTickets

Check whether the user has already ordered tickets based on the Cost variable being greater than zero

Checked that the user has already ordered tickets based on the Cost variable being greater than zero Pass

24 LikeTickets

Ask the user if they want to order Tickets

User asked if they want to order Tickets Pass

25 HideFoodSCreen Hides the Food Option Screen

Food Option Screen hidden Pass

26 FilmInfoConfirm

Prompts the user to confirm that they have selected Film Info from the options

User prompted to confirm that they have selected Film Info from the options Pass

27 FilmInfoSub

Sub dialogue that contacts the objects for viewing film info

Sub dialogue that contacts the objects for viewing film info Pass

28 QuizConfirm

Prompts the user to confirm that they have select the quiz from the options

user prompted to confirm that they have select the quiz from the options Pass

Page 35: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 35

W J McDevitt & G J McGlinchey

29 Filmprompt

iterate through the film options obtained from the database and presents them to the user as four options one, two, three & four

iterated through the film options obtained from the database and presents them to the user as four options one, two, three & four Pass

30 WhatFilm

Recognised the Digit spoken for the Film Choice, One, two etc.

Recognised the Digit spoken for the Film Choice, One, two etc. Pass

31 ConvertDigit

Converts the Digit word recognised by the Digit object and converts it into a number and stores it in a variable.

Converted the Digit word recognised by the Digit object and converts it into a number and stores it in a variable. Pass

32 TicketsConfirm

Prompt the user to confirm the chosen film

User prompted to confirm the chosen film Pass

33 AdultTickets

Prompts the user for the number of adult tickets they wish to order

User prompted for the number of adult tickets they wish to order Pass

34 ConvertAdultTickets

Converts the Adult Tickets Digit word recognised by the Digit object and converts it into a number and stores it in a variable. So that the cost of tickets can be multiplied by the number of tickets for cost

Converted the Adult Tickets Digit word recognised by the Digit object and converts it into a number and stores it in a variable. So that the cost of tickets can be multiplied by the number of tickets for cost Pass

35 ConfirmAdults

Prompt to confirm number of adult tickets selected

Prompted to confirm number of adult tickets selected Pass

36 CheckAdultTicketsPurchased

Check whether adult tickets are purchased before prompting for child tickets as they cannot be ordered without adult tickets

Check carried out to ensure that adult tickets are purchased before prompting for child tickets as they cannot be ordered without adult tickets Pass

37 ConfirmNoADultTickets

Prompt to tell the user that they have not purchased any adult tickets then they cannot purchase any child tickets, do they

Prompted user that they have not purchased any adult tickets then they cannot purchase any child tickets, do Pass

Page 36: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 36

W J McDevitt & G J McGlinchey

want to order some adult tickets

they want to order some adult tickets

38 ChildTickets

Prompts the user for the number of child tickets they wish to order

Prompted the user for the number of child tickets they wish to order Pass

39 ConvertChildTickets

Converts the child Tickets Digit word recognised by the Digit object and converts it into a number and stores it in a variable. So that the cost of tickets can be multiplied by the number of tickets for cost

Converted the child Tickets Digit word recognised by the Digit object and converts it into a number and stores it in a variable. So that the cost of tickets can be multiplied by the number of tickets for cost Pass

40 ConfirmChilds

Prompt to confirm the number of child tickets selected

Prompted to confirm number of child tickets selected Pass

41 Cost Tickets

Calculate the cost of the adult tickets and the child tickets and gives a total

Calculated the total cost of the adult tickets and the child tickets Pass

42 Mealoption

get the digit for the meal options spoken

digit for the meal options spoken retrieved Pass

43 ConvertMealOption

Save Digit recognised to variable

Saved Digit recognised to variable Pass

44 HowmanyMeals

Prompts the user for the number of the meals they have chosen

User prompted for the number of the meals they have chosen Pass

45 ConvertMeals

Recognises the Number of meals asked for by the user

Number of meals recognized Pass

46 SnacksConfirm

Prompts the user to confirm their choice

user prompted to confirm their choice Pass

47 CostSnacks

Add the Selected meals cost to the total meal cost

Selected meals cost added to the total meal cost Pass

48 AnotherMeal

Prompts the user if they would like another meal deal

User prompted if they would like another meal deal Pass

Page 37: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 37

W J McDevitt & G J McGlinchey

49 ShowFilmInfo

Converts the users film choice and generates a URL for that film and launches the URL in Internet explorer

Users film choice converted and a URL generated for the film and launched the URL in Internet explorer Pass

50 Confirmwebclose

Prompts the user to say finished when they have completed reading the info, so the program will then continue on.

User prompted to say finished when they have completed reading the info, so the program will then continue on. Pass

51 Build_Questionlist

List Object that contains the four quiz question and the correct answer

Object activated that contains the four quiz question and the correct answer Pass

52 Quest

Iterates through the BuildQuestionlist question and prompts the user

Iterated through the BuildQuestionlist question and prompted the user Pass

53 Thats_Right

Prompts the user that their answer is correct

User informed that their answer is correct Pass

54 Wrong

Prompts the user that their answer is wrong and gives them the correct answer

User prompted for their answer if wrong if gives them the correct answer Pass

Page 38: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 38

W J McDevitt & G J McGlinchey

APPENDIX C -Object list Component Object Name Object Type Activity TCL Code

Main ShowFrontScreen Media

Open Front Screen picture

FilmChoices Action

Get Film Information from Database

cd c:/cinema/db/

package require tclodbc

database db films

set details [db "select film from films where filmId = 1"]

regsub {\{} $details {} details

regsub {\}} $details {} details

set film1 [lindex $details 0]

set details [db "select film from films where filmId = 2"]

regsub {\{} $details {} details

regsub {\}} $details {} details

set film2 [lindex $details 0]

set details [db "select film from films where filmId = 3"]

regsub {\{} $details {} details

Page 39: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 39

W J McDevitt & G J McGlinchey

regsub {\}} $details {} details

set film3 [lindex $details 0]

set details [db "select film from films where filmId = 4"]

regsub {\{} $details {} details

regsub {\}} $details {} details

set film4 [lindex $details 0]

Greeting Generic

Ask the User to Say Start to begin the application and display the menu options

HideFrontScreen Media

Closes the front screen

ShowMenuScreen Media

Shows the menu options screen

Options Generic

Prompts user for menu option for Tickets, Food or Film Info

BuyTicketsConfirm Generic

Prompt to ask the user if they have selected Tickets as the option

HideMenuScreen Media

Closes the menu screen before entering a subDialogue

TicketsSub SubDialogue

Sub dialogue that connects the objects for Ordering tickets

CheckNeedFood Conditional

Check whether the user has already ordered food based on the Foodcost variable being equal to zero $foodcost == 0

LikeFood Generic Ask if user wants to order

Page 40: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 40

W J McDevitt & G J McGlinchey

food

TotalTicketCost Action

Calculates the Total ticket cost for adults and children

set TotalCost [expr $Cost + $foodcost]

HideFilmOptions Media Hides the Film Options Screen

ShowPayments Media Shows the Payment screen

FinalConfirmPrice Generic

Provides a summary of all items purchased along with the process of food and the price of tickets and the total prices

Payment Received Generic

Notifies the user that Payment has been taken off the credit or debit card

Hide Payment Screen Media

Hides the Payment screen

Again Generic

Takes the user back to the start screen for the next user

FoodOptions Media Show the Food Options screen

BuyFoodConfirm Generic

Prompts the user to confirm that the have chosen the Order food option

FoodSub SubDialogue

Sub dialogue that connects the objects for Ordering food

AddFoodCost Action

Adds the Food Cost to the Ticket Cost

set TotalCost [expr $Cost + $foodcost]

CheckNeedTickets Conditional

Check whether the user has already ordered tickets based on the Cost variable being greater than zero $Cost > 0

LikeTickets Generic

Ask the user if they want to order Tickets

HideFoodSCreen Media

Hides the Food Option Screen

FilmInfoConfirm Generic

Prompts the user to confirm that they have

Page 41: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 41

W J McDevitt & G J McGlinchey

selected Film Info from the options

FilmInfoSub SubDialogue

Sub dialogue that contacts the objects for viewing film info

QuizConfirm Generic

Prompts the user to confirm that they have select the quiz from the options

TicketsSub Filmprompt Generic

iterate through the film options obtained from the database and presents them to the user as four options one, two, three & four

WhatFilm Digit

Recognised the Digit spoken for the Film Choice, One, two etc.

ConvertDigit Action

Converts the Digit word recognised by the Digit object and converts it into a number and stores it in a variable.

switch $WhatFilm(recog) {

one {set chosenfilm $film1}

two {set chosenfilm $film2}

three {set chosenfilm $film3}

four {set chosenfilm $film4}

default {set chosenfilm "Do not recognise your choice"}

}

TicketsConfirm Generic

Prompt the user to confirm the chosen film

AdultTickets Digit

Prompts the user for the number of adult tickets they wish to order

Page 42: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 42

W J McDevitt & G J McGlinchey

ConvertAdultTickets Action

Converts the Adult Tickets Digit word recognised by the Digit object and converts it into a number and stores it in a variable. So that the cost of tickets can be multiplied by the number of tickets for cost

ConfirmAdults Generic

Prompt to confirm number of adult tickets selected

CheckAdultTicketsPurchased Conditional

Check whether adult tickets are purchased before prompting for child tickets as they cannot be ordered without adult tickets $Adults > 0

ConfirmNoADultTickets Generic

Prompt to tell the user that they have not purchased any adult tickets then they cannot purchase any child tickets, do they want to order some adult tickets

ChildTickets Digit

Prompts the user for the number of child tickets they wish to order

ConvertChildTickets Action

Converts the child Tickets Digit word recognised by the Digit object and converts it into a number and stores it in a variable. So that the cost of tickets can be multiplied by the number of tickets for cost

ConfirmChilds Generic

Prompt to confirm the number of child

Page 43: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 43

W J McDevitt & G J McGlinchey

tickets selected

Cost Tickets

Calculate the cost of the adult tickets and the child tickets and gives a total

set Cost [expr $AdultCost * $Adultsdigit ]

set Cost [expr $Cost + [expr $ChildCost * $Childsdigit ]]

FoodSub

Mealoption Digit

get the digit for the meal options spoken

set MealNo $MealOption(recog)

ConvertMealOption Action

Save Digit recognised to variable

HowmanyMeals Generic

Prompts the user for the number of the meals they have chosen

ConvertMeals Digit

Recognises the Number of meals asked for by the user et meals 0

switch $ManyMeals(recog) {

one {set meals 1}

two {set meals 2}

three {set meals 3}

four {set meals 4}

five {set meals 5}

six {set meals 6}

seven {set meals 7}

eight {set meals 8}

nine {set meals 9}

}

SnacksConfirm Generic

Prompts the user to confirm their choice

CostSnacks Action

Add the Selected meals cost to the total meal cost

set foodcost [expr $foodcost + [expr 5 * $meals ]]

Page 44: Implementation of Intelligent Multimedia Interfacepaulmckevitt.com/cre333/demonstrators/cinemax.pdf · 2012-02-24 · Com-556 Intelligent Multimedia - Assignment Two – Implementation

Com-556 Intelligent Multimedia - Assignment Two – Implementation of Intelligent Multimedia Interface

30th April 2009 Page 44

W J McDevitt & G J McGlinchey

AnotherMeal Generic

Prompts the user if they would like another meal deal

FilmInfoSub ShowFilmInfo Action

Converts the users film choice and generates a URL for that film and launches the URL in Internet explorer

switch $WhatFilm(recog) {

Confirmwebclose Generic

Prompts the user to say finished when they have completed reading the info, so the program will then continue on.

QuizSub Build_Questionlist ListBulider

List Object that contains the four quiz question and the correct answer

one {set urltext {http://movies.msn.com/movies/movie/hannah-montana-the-movie/}}

Quest GenericList

Iterates through the BuildQuestionlist question and prompts the user

two {set urltext {http://movies.msn.com/movies/movie/marley-and-me/}}

Thats_Right Generic

Prompts the user that their answer is correct

three {set urltext {http://movies.msn.com/movies/movie/ghost.1/}}

Wrong Generic

Prompts the user that their answer is wrong and gives them the correct answer

four {set urltext {http://movies.msn.com/movies/movie/the-omen.1/}}

} showurl $urltext