If you are interested in StrongArm Software for the PC -

Click here


header







Home
Product History
Product Overview
Program Categories
Install Overview
Pricing
Latest news
System requirements
Contact Strongarm

Structure Details of the 
Disc Monitoring System


The data monitoring system is designed to work from hard disc. The recommended directory structure is indicated below:

intro2

Each of these entities (!CogProgs, !CogSys...) is a pseudo-application so each can have its own identifiable icon. When these pseudo-applications are 'run' by double-clicking, they will set system variables and/or open directory viewers of their contents. The actions to be carried out are specified in the respective !Run files within the pseudo-application.

   The data monitoring system uses a resource area called !CogSys to keep a number of files that are used by more than one program. !CogSys needs to be seen by the filer for correct operation so it should either reside in the main directory of the hard disc or be run explicitly in the boot sequence. The contents of !CogSys is shown below. The application !StrongHelp that resides in the main !CogSys directory is the help engine currently used for all the program instructions.

intro3

   The modules directory in !CogSys contains a few re-locatable modules required by some or all of the programs. The modules in the current version of the system are:

Squash Version 0.20
RehabMod Version 3.00
PlayIt Version 1.35
BorderUtil Version 0.02
SpeakMod Version 2.06 (plus Basic program LoadSpeak)

Both 'Squash' and 'BorderUtil' are OS modules - 'BorderUtil' fixes a few bugs in RISC OS 3.1. 'Squash' provides the software for compression and decompression used in a number of the programs. 'PlayIt' is a module by Rick Hudson which is used for playing the sound samples. SpeakMod is the speech synthesis module from the 'Speak' system by Jonathan Duddington. This module must be purchased separately and if available will be used by several of the programs. 'RehabMod' is the data monitoring module written specifically for the cognitive rehabilitation system by Chris Newton and myself. This module provides a number of SWIs to pass data between individual programs and a controlling process and to provide support for the use of alternative inputs such as 'Concept Keyboard' and digital joystick. The complete list of SWIs follows.

Monitor Module Version 3.0


CogSys_Init0_3 &80AC0
SWI to initialise the monitoring system. Looks for podules 0 -> 3

CogSys_Init3_0 &80AC1
SWI to initialise the monitoring system. Looks for podules 3 -> 0

CogSys_PutPatDat &80AC2
SWI to save the patient data in RAM

CogSys_GetPatData &80AC3
SWI to get the patient data from RAM

CogSys_PutProgramID &80AC4
SWI to save the program ID, no. of variables and max. no. of runs in RAM

CogSys_GetProgramID &80AC5
SWI to get the program ID from RAM

CogSys_PutInitValues &80AC6
SWI to store the initial values to be used in RAM

CogSys_GetInitValues &80AC7
SWI to retrieve the initial values to be used from RAM

CogSys_MonitoringOn &80AC8
SWI to turn the monitoring on

CogSys_MonitoringOff &80AC9
SWI to turn the monitoring off

CogSys_PutWimpData &80ACA
SWI to collect results in a multi-tasking environment

CogSys_GetDataSet &80ACB
SWI to get a data set from RAM

CogSys_ClearProgArea &80ACC
SWI to clear the program data area

CogSys_ClearDataArea &80ACD
SWI to clear the entire data area

CogSys_Init &80ACE
SWI to initialise IO system. Checks for I/O podule

CogSys_IOMonitorOn &80ACF
SWI to turn IO monitoring on.Called with:
R0 - delay in centi-seconds
R1 - shift key flag (&FF enables shift key)

CogSys_IOMonitorOff &80AD0
SWI to turn IO monitoring of

CogSys_loadIODef &80AD1
SWI to load key definitions from a file
R0 - pointer to filename (ASCIIZ string)

CogSys_clearIODef &80AD2
SWI to reset the key definitions table

CogSys_Status &80AD3
SWI to provide status on the IO monitoring system

CogSys_FinishIO &80AD4
SWI to reset the IO monitoring system

CogSys_Finish &80AD5
SWI to reset the monitoring system

Error numbers

&802400 - Not yet implemented
&802401 - Number of variables out of range
&802402 - Monitoring system not initialise
&802403 - Monitoring system already on
&802404 - Patient data string too short/long
&802405 - Program ID too short/long
&802406 - Monitoring system on
&802407 - Get results not initialised
&802408 - Unable to claim workspace
&802409 - IOMonitor system not initialise
&80240A - IOMonitor system already on
&80240B - IOMonitor system on
&80240C - Error loading IO definition file
&80240D - IO definition file not found
&80240E - Error in IO definition file
&80240F - Timer delay cannot be zero

   The 'data' directory contains data files for the speech synthesis module and will only be found if the Speak software has been purchased.

   The 'debug' directory contains two items I use extensively for program development and testing.

   The 'drivers' directory contains software drivers for the 'PlayIt' module which plays the sound samples. At present there are only two drivers - one for the standard sound system and one for the 16-bit system found on the RISC PC and above.

   The 'overlays' directory contains the concept keyboard overlay definition files that are used by a large number of the programs. Support for the concept keyboard device is provided by the monitoring module. The filetype for an overlay file is &C83 .    In the 'Utils' directory there are two programs - !ConcKbd and !CKTest that are for respectively designing and testing the concept keyboard overlays.

   The last directory in !CogSys is 'Resources' which contains a utility called OS_Version which is used by all of the programs to determine which version of the operating system is present. The freeware terminal program !Connector and its supporting program !SerialDev are also present. Lastly there is a text file called 'Messages' which contains the registration information. An example file is as follows:

   #Messages file for !CogSys
   ID1:Licensed to:
   ID2:The Manor House
   ID3:Seaton, Devon
   ID4:EX12 2AD, U.K.

!RehabData

 

   The data monitoring system contains a pseudo application directory called !RehabData in which to store the results from monitored users. The structure of the !RehabData area is illustrated below.

intro4

Each user has his/her own directory area called !Userxxx. These are also pseudo-applications. By default the users are numbered from 000 and the ID for each new user is just incremented by 1. Although users can be created and modified manually, the '!MenuMaker' program does the job with a great deal more ease and security. The details of the user area will be presented after a brief consideration of the other contents of !RehabData.

   In addition to the user areas, !RehabData contains directories called 'Defaults', 'Headers' and 'Wastebin'. 'Defaults' and 'Headers' contain information necessary for all aspects of the monitoring to work correctly so these should not be deleted. The structure of each directory is identical - each containing a single 'default' or 'header' file for each program.
   The 'default' file for each program contains the following information about this program:

   

1. The number of monitored variables
2. The system default value for each variable (these may be over-ridden for each user).
3. A descriptive label for each variable
4. A flag to indicate whether a particular variable would be using passed parameters (-1) or not (0).
5. The maximum allowed value
6. The minimum allowed value
7. Additional information regarding program usage


As an example the default file for the program !Amaze follows below:

#PNAME !Amaze
#NVARS 11
#COMNT Below are the default values for the Program & User
#C% 3
#D% 1
#E% 0
#F% 0
#G% 0
#H% 0
#I% 2
#J% 0
#K% 0
#L% 0
#M% 0
#COMNT Below are the variable descriptors
#C$ Level
#D$ Maze Number
#E$ Consecutive Corrects
#F$ Moves
#G$ Errors
#H$ Elapsed Time
#I$ Input Choice
#J$ Number of Tries
#K$ Number of duff moves
#L$ Number of Helps
#M$ Cumulative Errors
#C! -1
#D! -1
#E! 0
#F! 0
#G! 0
#H! 0
#I! -1
#J! 0
#K! 0
#L! 0
#M! 0
#C+ 12
#D+ 4
#E+ 0
#F+ 0
#G+ 0
#H+ 0
#I+ 3
#J+ 0
#K+ 0
#L+ 0
#M+ 0
#C- 1
#D- 1
#E- 0
#F- 0
#G- 0
#H- 0
#I- 1
#J- 0
#K- 0
#L- 0
#M- 0
#PERF N/A
#NTRIES 0
#NSAVES 0
#FDATE Wed,15 May 1991
#MDATE Not yet determined
#LDATE Wed,07 Aug 1991

   The 'header' file for each program contains the labels used for the stored data files and are used by the !PatData program. The file for the program !Amaze follows:

"Date", "Condition", "Maze#","#Correct","#Moves","#Errors", "Time", "Input","#Tries","#Duff Moves","#Helps","#CumErr"

   The 'Wastebin' directory is used to store all the data files for any users who have been deleted from the system. This is purely a safeguard against accidental loss of data.

   The structure of an individual user's data area is illustrated below.

intro5

The results for each program attempted are stored in a file with the same name. These files have a file type of &DFE and are known as CSV (comma separated variables or values) files. These files are a standard format used on the Acorn and other platforms. A very short example data file for the program !VocMatch is as follows:

"Date", "Level", "Number of Matches", "Number of Moves", "Time Taken"

"Thu,04 Jan 1996.17:09:54",3,6,14,4105
"Sat,24 Feb 1996.00:13:34",3,6,11,4063
"Tue,02 Sep 1997.10:49:42",3,6,10,2019

The labels on the first line come from the 'header' file for the particular program

   The file named System_Log is a text file which shows the history of usage by that particular user. An example file follows:

Mon,10 Mar 1997.23:46:59 Config file loaded
Mon,10 Mar 1997.23:47:02 Program !Anagram1 Started
Mon,10 Mar 1997.23:49:26 Results for !Anagram1 saved
Sat,15 Mar 1997.00:33:19 Config file loaded
Sat,15 Mar 1997.00:36:06 Config file loaded
Sat,15 Mar 1997.00:37:02 Program !MathGame Started
Sat,15 Mar 1997.00:37:47
No Results for ADFS::HardDisc4.$.Rehab.!RehabData.!User000. were saved.
Thu,12 Jun 1997.07:32:51 Config file loaded
Thu,12 Jun 1997.07:35:50 Program !Anagram1 Started
Thu,12 Jun 1997.07:36:03
No Results for ADFS::HardDisc4.$.Rehab.!RehabData.!User000. were saved.
Tue,17 Jun 1997.07:28:20 Config file loaded
Tue,02 Sep 1997.10:48:54 Config file loaded
Tue,02 Sep 1997.10:49:01 Program !VocMatch Started
Tue,02 Sep 1997.10:49:44 Results for !VocMatch saved
Tue,02 Sep 1997.11:16:53 Config file loaded
Tue,02 Sep 1997.11:17:01 Program !Silly Started
Tue,02 Sep 1997.11:20:18 Results for !Silly saved
Tue,02 Sep 1997.11:25:41 Config file loaded
Tue,02 Sep 1997.11:25:50 Program !Silly Started
Tue,02 Sep 1997.11:28:32 Results for !Silly saved
Tue,02 Sep 1997.11:36:32 Config file loaded
Tue,02 Sep 1997.11:36:40 Program !Silly Started
Tue,02 Sep 1997.11:40:44 Results for !Silly saved

As you can see by examining this file, the 'system log' provides quite detailed and useful information about the way and extent that any user makes of the system.

The file named CFG is the menu file produced at initialisation and altered with !MenuMaker. In the example below, the user is allowed to choose from any of 29 named programs. In addition the path for storing data (datapath) is passed.

#ID   000
#NAME   Hutch Curry
#DATAPATH   ADFS::HardDisc4.$.Rehab.!RehabData.!User000.
#PROGS   29
#1   !Anagram1
#2   !ColMatch
#3   !DesMatch
#4   !FaceMatch
#5   !Flash
#6   !Grafix
#7   !KeyFind
#8   !LocationL
#9   !LocationS
#10   !LocationT
#11   !MathGame
#12   !MemStory
#13   !ObjectNam
#14   !ObjectsL
#15   !ObjectsS
#16   !ObjLocL
#17   !ObjLocS
#18   !ObMatch
#19   !Pairs
#20   !PAL
#21   !Pelmanism
#22   !Pics
#23   !QCount
#24   !ReactTime
#25   !Silly
#26   !Snakes
#27   !Stories
#28   !Stroop_a
#29   !VocMatch

   The programs for the Cognitive Rehabilitation System are stored in a pseudo application directory called !CogProgs. Each of the programs has a name starting with '!' e.g. '!Amaze'. A typical contents of !CogProgs is shown below.

intro6

   The monitoring system software and a number of accessory programs normally reside in the !CogTools directory. However the location of these programs is unimportant for their operation and they may reside anywhere. A typical contents of !CogTools is shown below.

intro7

   Operational details for both single and multi-user versions of the monitoring and menu making software (and !PatData) are in their respective manuals.

back to top

To the Top of the Page