Object Design Review
Speech Subsystem Concepts
|
|
|
|
Interpreter |
|
Takes in spoken text and performs
appropriate actions / API calls |
|
Grammar |
|
Set of valid words and phrases that the
recognition engine is expecting at a particular point of time |
Scenario: API
Requirements
|
|
|
|
|
Mechanic Bob has a workorder with
stickies. A view of the model is
displayed on his PEDD. |
|
Bob says, “show IETM” in order to
change the display from the model to the IETM. |
|
speech.interpreter.GlobalInterpreter.interpret() |
|
ui.UserInterfaceManager.displayUserInterface |
|
(int userInterfaceID, |
|
int displayStatus, |
|
int panelID) |
|
|
|
|
|
|
|
|
|
|
Scenario (cont.)
|
|
|
|
Bob says, “activate IETM” in order to
switch grammars to the IETM grammar. |
|
speech.interpreter.GlobalInterpreter.interpret() |
|
speech.grammar.CentralGrammarHandler. |
|
setActiveGrammarHandler(IETMGrammarHandler) |
|
Bob says, “next step” and the speech
system speaks the 1st step to him. |
|
speech.CentralInterpreter.ActiveInterpreter.
interpret() |
|
speech.IETMInterpreter.interpret() |
|
speech.Synthesis.speakStep() |
Scenario (cont.)
|
|
|
|
Bob performs the step spoken to him and
continues saying “next step” until he is done with the repair. |
|
Bob says, “activate workorder” in order
to switch the active grammar to the workorder grammar. |
|
speech.interpreter.CentralInterpreter.
GlobalInterpreter.interpret() |
|
speech.grammar.CentralGrammarHandler. |
|
setActiveGrammarHandler(WorkorderGrammarHandler) |
Scenario (cont.)
|
|
|
|
Bob says “submit” in order to automatically set the status to awaiting
approval and submit the completed workorder to the database. |
|
speech.CentralInterpreter.ActiveInterpreter.interpret() |
|
speech.WorkorderInterpreter.interpret() |
|
maintenance.submitWorkorder() |
Scenario: Sequence
Diagram
speech Package
speech.interpreter
Package
speech.grammar Package
Javadoc
|
|
|
Javadoc:
http://www.contrib.andrew.cmu.edu/~rig/javadoc/index.html |
Hardware/Software
Allocation
|
|
|
The Speech subsystem will use IBM
ViaVoice with JSAPI extensions as its speech engine. |
|
ViaVoice needs a maximum 260 MB in disk
space. |
|
ViaVoice needs a maximum 48 MB RAM
(including OS) |
Services provided by
Speech
|
|
|
|
void speech.Initialization.initialize() |
|
Used by the UI subsystem to start the
speech subsystem |
|
The speech subsystem will be running as
long as the STARS executable is running on the PEDD |
Services needed by Speech
|
|
|
|
From Maintenance subsystem: |
|
submit a workorder to the DB |
|
void submitWorkorder() |
|
advance the current sticky |
|
void nextSticky() |
|
set the current sticky back one |
|
void previousSticky() |
|
set the status of a workorder |
|
void setStatus(int status) |
Services needed by Speech
(cont.)
|
|
|
|
From UI subsystem: |
|
Switch displayed screen from model to
IETM and vice versa |
|
boolean displayUserInterface(int
userInterfaceID,
int displayStatus, int panelID) |
Status of the Speech
Subsystem
|
|
|
|
Requirements Analysis done |
|
System Design done |
|
Object Design done |
|
Working on implementation |
|
Looking into the API for WebManual IETM
viewer |
|
Formalizing all grammars: global,
workorder, model, IETM |
Future Schedule
|
|
|
|
Implementation |
|
11/22 to 12/5 |
|
Unit Testing |
|
12/1 to 12/5 |
|
Integration Testing |
|
12/4 to 12/9 |
|
Dry Run |
|
12/7 |
|
Client Acceptance Test |
|
12/9 |
Open Issues
|
|
|
WebManual API à our creation of a dynamic IETM grammar depends on this |