Design and Implementation by
John C. Wang
Advisor Dr. Jane Hsu
Intelligent Robotics Lab
National Taiwan University
Copyright © 1998. All Rights Reserved.
CueSuite is the software package that implements the Master's Thesis work of John C. Wang (1998), Cue Graphs: A Generic Mechanism for Personalizing Software, Intelligent Mobile Robot Group, National Taiwan University. This software package offers a wide range of capabilities for building software that readily adapts to the user's behavior by watching for various "cues."
For live actions, go on to demonstrations.
CueSuite includes the following components:
And accessories (samples)
- CueSphere, the cue graph designer environment;
- CueVM, the execution kernel virtual machine (included in CueSphere).
- BelStd, standard belief functions;
- CueMenus, menus-related cue functions;
- CueHttpd, web server-related cue functions;
- BelCore, frequently used cue function components;
- CueWatcher, the Win32-based cues interceptor;
- CueTweaker, the cues analyzer.
Download Before You Proceed
Download (Pkzip'd)
Or in separate pieces (unzip to directories of the same name)
- The complete suite, 253 K
- CueSphere, 58 K and CueVM, 51.4 K
- BelCore, 2.7 K
- BelStd, 10.3 K
- CueMenus, 27.3 K and CueMenusSupp, 3.5 K
- CueHttpd, 37.6 K
- CueWatcher, 26.9 K
- CueTweaker, 14.5 K
Visual C++ Project Settings
CueSuite is mostly built with Microsoft Visual C++ 5.0. The project setting is configured so that all intermediate files and executables from various CueSuite subprojects are placed in the same directory. Depending on whether the project is set for debug or release mode, all files are generated in the one respective directory for each mode.
Files in Project CueSphere
Class Modifications Notes Project CueSphere (Visual C++ 5.0 / MFC EXE) CCueSphereApp None Body, entry point CMainFrame None MDI Frame CChildFrame None MDI Child Frame CCuesDoc File name, base CRichEditDoc Inheriting from CueListener to receive CueVM messages CCuesView File name, base CRichEditView Passive display of CueVM messages (Verdana font) CCuesItem File name, base CRichEditCntrItem Rich edit insertion (placeholder) CSurgicalDoc Adapted from CCueDoc Container of an instance of CueVM CSurgicalView Adapted from CCueView Interpreting upon each [Enter] pressed CSurgicalItem Adapted from CCueItem Rich edit insertion (placeholder) ..\CueVM\CueVM.h None Header for inclusion in CuesDoc.h ..\CueVM\Win32Mem.h None Header MFC AppWizard Adaptation Guide
- Create initial MDI application with OLE container capability, views changed to derive from CRichEditView, document from CRichEditDoc, and container item from CRichEditCntrItem. Save the initial doc/view/item files under the names of "CCuesXXX";
- Duplicate the "CCuesXXX" files as "CSurgicalXXX". Add the files to the project and change #define strings in headers to new values. Add the files to the project;
- In main file CueSphere.cpp, add after line 92 instructions to add an additional document/view type. Create spec string, menu and icon for the added type;
- Modify "CSurgicalXXX" to handle inputs and CueVM manipulations;
- Modify "CCuesXXX" as a CueListener to display outputs.
Files in Project BelStd
File Add to Project? Notes Project BelStd (Visual C++ 5.0 / Win32 DLL) BelStd.cpp Yes Body, entry point ..\BelCore\BelCore.h No Header ..\BelCore\BelCore.cpp Yes Utility ..\CueVM\CueVM.h No Header ..\CueVM\CueVM.cpp Yes Utility ..\CueVM\Win32Mem.h No Header Wsock32.lib Linker Linked Library
Files in Project CueMenus
File Add to Project? Notes Project CueMenus (Visual C++ 5.0 / Win32 DLL) CueMenus.cpp Yes Body, entry point ..\BelCore\BelCore.h No Header ..\BelCore\BelCore.cpp Yes Utility ..\CueVM\CueVM.h No Header ..\CueVM\CueVM.cpp Yes Utility ..\CueVM\Win32Mem.h No Header ..\MSAgent\AgtSvr.h No Header ..\MSAgent\AgtSvr_i.c Yes Utility Wsock32.lib Linker Linked Library
Files in Project CueHttpd
File Add to Project? Notes Project CueHttpd (Visual C++ 5.0 / Win32 DLL) CueHttpd.cpp Yes Body, entry point UniServe.h No UniHttpd (unmodified) UniServe.cpp Yes UniHttpd (unmodified) HttpdExt.h No UniHttpd (unmodified) HttpdExt.cpp Yes UniHttpd (unmodified) HttpdExt2.cpp Yes UniHttpd (unmodified) CgiExt.cpp Yes UniHttpd (unmodified) CueHttpd.h No Modifications to UniHttpd HttpdMods.cpp Yes Modifications to UniHttpd ..\BelCore\BelCore.h No Header ..\BelCore\BelCore.cpp Yes Utility ..\CueVM\CueVM.h No Header ..\CueVM\CueVM.cpp Yes Utility ..\CueVM\Win32Mem.h No Header Wsock32.lib Linker Linked Library CueHttpd.reg No Registry entry Dependent subproject CueWeb (Visual C++ 5.0 / Win32 Console CGI) CueWeb\CueWeb.cpp Yes Body, entry point ..\BelCore\BelCore.h No Header ..\BelCore\BelCore.cpp Yes Utility ..\CueVM\CueVM.h No Header ..\CueVM\CueVM.cpp Yes Utility ..\CueVM\Win32Mem.h No Header
Files in Project CueWatcher
File Add to Project? Notes Project CueWatcher (Visual C++ 5.0 / Win32 EXE) CueWatcher.cpp Yes Body, entry point CueWatcher.rc Yes Resource file CueWatcher.ico Yes Resource file resource.h Implicit Resource file CueWatcher.reg No Registry entry Depedent subproject WatchDog (Visual C++ 5.0 / Win32 DLL) WatchDog\WatchDog.cpp Yes Body WatchDog\WatchDog.def Yes Export definition
Files in Project CueTweaker
File Add to Project? Notes Project CueWatcher (Visual Basic 5.0 / Win32 EXE) frmMain.frm Yes Body, entry point Routines.bas Yes Body
The Thesis
The thesis report is available in Chinese only. Download pkzipped Word 97 file (337 K pkzip'd, requiring Chinese fonts), or contact the author for printed copies. PowerPoint slides in Chinese for the oral defense is also available (106 K pkzip'd, req. Chinese fonts) for download.
Created June 13, 1998, last modified August 29, 1998 by John C. Wang.