Senin, 08 Agustus 2022

Manufacturing Training Package Version 8 Programming phone numbers for SMS messages

 Manufacturing Training Package Version 8  Programming phone numbers for SMS messages




Manufacturer:

JABLOTRON ALARMS Inc. http://www.jablotron.com/

JA-80K user manual 16 MKE52401 JA-80K user manual 1 MKE52401


Dear OASiS user

The development and production of your security system have been done by the manufacturer with maximum care so that your oasis of safety – your room, house or company premises – can be protected as well as possible.

The second party having an impact on the quality of a security system is the installer. The installer company should know the system well, therefore do not hesitate to contact them if you have any questions about system operation or when you need an in-depth explanation of how the system works.

However, the most important participant of a properly working security system is you, the daily user. Please, follow these guidelines as well as the installer’s instructions when you take over the system. During the system’s everyday use, you can read information from the keypad display. This way you can be informed that a balcony door is open or that maintenance of a particular device is needed.

What is a security system?

Any electronic security system (ESS) has a control panel as its essential part. The control panel comprises all the system’s important functions. Among the control panel’s constituent optional parts, there is a communicator for transmitting messages to an alarm receiving centre, and a back-up battery, which ensures that the system works properly (for a given period) after a power supply outage.

The control panel should be installed in a hidden place. In the case of an intrusion, a hidden-working control panel transmits messages even if all other parts of the ESS have been destroyed.

The connection between you and the control panel is established via a keypad. This way you can operate the system or, conversely, the system informs you via the keypad display or LED signalling.

House premises are protected by detectors. These react to various events: movement (PIR), door or window opening (magnetic detector), glass pane breaks (glass break detector). In addition, smoke detection or combustible gas leak detection can be included in a system’s functionality. This way an ESS can detect threats to property or health.

When a security system detects movement in a protected area, information is sent, depending on the system configuration, to your mobile phone or to an alarm receiving (central monitoring) company, which performs on-site physical intervention. Outdoor sirens let the neighbourhood know that something is going on, whereas the main purpose of indoor sirens is to discourage the intruder.

JA-80K user manual 2 MKE52401

Any bypass programmed for a single setting/unsetting cycle will be automatically cancelled after unsetting (disarming) the system.

* The existing bypass configuration can be checked or modified in the bypass menu.

* If the installer enters service mode all bypasses will be cancelled.. Alternatively, you can cancel all bypasses using key 4 in the bypass menu.

17. Setting the internal clock

The control panel has a built in real-time clock which is used to time-stamp all recorded events in the control panel memory. The clock should be set during installation. However, the administrator can re-set the clock. This can be used for summer time offsets when automatic summer time is disabled (® A.). To set the clock, enter:

4 hh mm DD MM YY

where: hh hours

mm minutes

DD day

MM month

YY year

Example:

at 21:30 on April 29, 2007 enter: 4 21 30 29 04 07

If automatic summer time is enabled (® A.), the control panel’s internal clock is

automatically offset by +1 hour on March 31st at midnight. The offset is then

removed on October 31st at midnight to return to winter time.

18. Automatic setting/unsetting schedule

This can be used to program an automatic sequence of daily setting/unsetting events. Up to 10 daily events can be programmed. The events will occur every day of the week.

To program an automatic schedule enter: 64 n a hh mm

where: n is the event number from 0 to 9

a is the type of event from 0 to 6 (see the following table)

hh hours (time of event)

mm minutes (time of event)

JA-80K user manual 15 MKE52401


To display the positions: 

* Press key 5 (the display indicates “Codes 01: Code” – or the name of the code holder).

* Using the arrow keys and all user positions (01 to 50) can be

scrolled through. The A indicator shows whether a code is programmed or not, and the B indicator shows whether a card is programmed or not. (This means if both indicators are lit, the position is occupied by a code and a card.)

* To exit this code/card display mode press the # key.

Notes:

* Code programming is only possible when the system is unset (disarmed) and in Operating mode. When the system is in Maintenance mode, code programming is disabled.

* The most convenient way to administer codes is by using a PC running Olink software – select the “Codes” menu option.

16. Bypassing

In practice, you may need to set (arm) the system while excluding particular zones (potential sources of alarms). This exclusion is referred to as a bypass.

To set up a bypass: 

1. Press key 1 to open the bypass menu while in maintenance mode.

2. Using the and keys, you can scroll through all potential alarm sources. Select the source (detector, controller...) which you want to bypass and:

a. press key 2 to bypass the source for the next setting/unsetting

cycle (the indicator will start flashing),

b. press key 3 to bypass the source permanently (the indicator will light continuously).

c. Multiple pressing and holding of the keys (2 or 3) will toggle the bypass on – off – on ...

d. Using key 4 will cancel all device bypasses in the system.

3. All the desired bypasses can be reprogrammed by repeating step 2.

4. Press the # key to exit the bypass menu. Pressing # again exits maintenance mode.

Notes:

* If a system with bypassed devices is being set, then bypass text will be displayed on the keypad unit. 


The OASiS system is configurable and its exact behaviour is determined by system settings. The following text contains references to the system configuration table which is to be found at the end of this manual. The table should be filled in by an installer during the installation process. References are numbered, like for instance (5 4.). In this case you can find particular settings for the 4th parameter in the table.

System access codes (cards)

The system status can be controlled via a keypad (internal or external) using access codes or cards. To prevent misuse by a stolen card, you can set that card access must be confirmed by entering a proper code (55.). In addition, you can operate the system wirelessly by key-fob or remotely via phone or using internet access (see www.GSMLink.cz).

Access codes and cards 

Access codes and cards allow system operation – i.e. setting (arming), unsetting (disarming), stopping triggered alarms, triggering silent alarms (PANIC), etc. Access code functionality can be configured during installation. The system allows for up to 50 different access codes (cards) to be assigned to different users. This way it is possible to distinguish (at the alarm receiving centre or in the control panel memory) who has operated the device and when. As a factory default, all access codes are blank. It is up to you – the system administrator (master) – to define access codes as desired, using a Master code or card.

Note: Entering an invalid access code ten times in a row will trigger a tamper alarm.

The Master code (card) 

The master code (card) is an access code or card with a higher priority which, in addition to allowing system control, enables you to change or configure access codes for other users. Knowing the master code or possessing a master access card is necessary for any user configuration of the system.

Usually, the master code is used by the system owner or administrator, who performs a change of the factory default value 1234 to his or her required master code after taking the system over from the installer. An access card can be set up in place of a master access code. This should be kept in a safe place.


JA-80K user manual 14 MKE52401 JA-80K user manual 3 MKE52401


The service code 

The service code is a special code designed for a service company. The code allows maintenance technicians system configuration and testing.

Note: it can be set by a service technician that by means of a service code it is possible to unset the system to provide full service and maintenance of the system under any circumstances (he will not be able to modify or add user codes). Unsetting the system by the service code can only be enabled with the written agreement of the owner of the system – see ® 15.

1. System setting (arming)

There are several ways to set (arm) the system.

An unsplit system (®1.) 

* Enter a code (present a card).

* On the key-fob, press the  button.

* If operation without an access code is enabled (®4.), you can set (arm) the system by pressing the ABC key.

A system with partial setting (arming) (®2.) 

* If operation without an access code is enabled (®4.), you only have to press the A button to set section A, the B button to set both sections A and B, or the ABC button to set the entire system.

* When the system is only partially set (e.g. only section A), it is possible to extend the proportion of the system armed by pressing the corresponding button (B or ABC). All detectors configured to delayed or next-delayed reactions will provide an exit delay. Thus, you will not need to turn off partial setting first to set the whole system each time you leave the house. Instead, you can perform total setting straight away and the system allows departure through all zones covered by delayed and next delayed detectors.

* If operation without an access code is disabled (®4.), then pressing the A, B, or ABC key must always be followed by entering an access code (or by presenting an access card).

* Key-fob: press for total setting (A + B + C)

press to set section A

press to set sections A+B

14. 

System testing

  The administrator should test the system monthly. For testing, the control panel should be in operating mode and unset (it can also be in maintenance mode). When in operating mode, the control panel indicates the triggering of a detector, but no alarm can be triggered if the system is unset.

We recommend triggering the detectors (zones) one by one and verifying that the triggering is indicated on the keypad display – by displaying the signal type and source. Remote controllers (key-fobs) or panic buttons can be tested in a similar way.

Note: some detectors (for example the JA-80P wireless motion detector) are equipped with battery-saving functionality which prevents repetitive triggering in short intervals. In this case a pre-programmed time has to elapse before subsequent triggering is possible (up to 5 minutes).

  In maintenance mode, close the wireless keypad’s flip cover if you are not working with it to save battery energy.

If anything does not work properly during testing, call the installer for help.

  In maintenance mode it is possible to replace discharged batteries in the devices. But it is highly recommended to ask your installer to replace the battery.

Improper handling can result in damaging the device and loss of warranty.

Recommendations: the system should be annually inspected by a professional installer who should check the backup battery voltage and perform functionality testing.

15. Displaying which user/card positions are occupied

When in maintenance mode, the control panel can display which positions in the range 01 to 50 are occupied by codes or cards.


JA-80K user manual 4 MKE52401 JA-80K user manual 13 MKE52401


* The administrator can check which positions (01 to 50) are occupied by a code or card in maintenance mode – see 15.

* To erase a code without knowing its nn position use sequence * 6 master code (card) 00 code

* To erase all codes and cards set * 6 master code (card) 00 0000. The master code (card) will not be effected.

12. Key-fob setting

Setting or adding other key-fobs to the system can be done by the installer who is also able to block or replace a lost key-fob. An immediate bypass can be done by the administrator of the system - see 16).

User configuration – Maintenance mode

  The following description is intended for a system administrator, who knows the control panel master code or possesses a master card which is authorized to modify the system configuration.

  All the settings can be performed via keying-in on a system keypad. An unfinished sequence can be escaped from by pressing the # key. A sequence is stored into control panel memory only after the sequence has been completely entered.

13. Entering Maintenance Mode

  You can enter maintenance mode when the control panel is unset by keying-in * 0 master code (card). The mode will be indicated on the keypad display.

Maintenance mode enables the following: 

* internal-clock configuration

* automatic setting/unsetting schedule

* programming telephone numbers for alarm reporting

* testing detectors or opening their covers without triggering an alarm

* zone bypassing configuration

* displaying which code/card positions are already occupied

Exit maintenance mode by pressing the # key.


A split system (®3.) 

* If operation without an access code is enabled (®4.), you only have to press the A or B button to set (arm) the corresponding section. Pressing the ABC button results in total setting.

* If operation without an access code is disabled (®4.) and you perform setting (arming) via an access code or card, then only the section assigned to the code (card) is set (A, B or ABC).

o If the code (card) belongs to the whole system (ABC), then it is possible to

set only section A or B by pressing button A or B before entering the code (card).

* Using an access code (card) assigned to section C will set the entire system (ABC). You can also set either section A or B alone – by pressing the A or B button respectively before you enter a code (or present a card).

* By pressing the button on the key-fob the section to which the

key-fob belongs will be set.

* When both sections A and B are set, the common section C is set automatically too

2. During the setting (arming) process ...

The system will warn you when anything is going wrong. Pay attention at the moment of setting to the information on the keypad.

If the (®10.) parameter is enabled, then by displaying “Triggered det.” on the keypad, the system gives you notice that a detector is triggered (usually a window or a door is open). By pressing the ? key you will be shown which particular detector it is. If there are more detectors triggered, you can access them on the display by pressing (?) repetitively. Naturally, in such situation, it is appropriate to check through the building and close the doors and/or windows.

If the (®10.) parameter is disabled, then no “Triggered det.” text will be displayed. Nonetheless, pressing the ? key lets you display the list of triggered detectors.

If the (®11.) parameter is enabled and “Triggered det.“ is shown on the keypad display, then after entering an access code (card) or after pressing the A B or ABC button for quick setting (arming) you will be offered the possibility of a bypass – which means the temporary removal of triggered zones from the system. If you wish to accept/confirm the bypass suggestion, press *. If no


JA-80K user manual 12 MKE52401 JA-80K user manual 5 MKE52401


confirmation is made, the system will not be set! The system behaves the same way when bypassing has been pre-programmed in maintenance mode.

If the (®11.) parameter is disabled, any triggered detector is bypassed automatically – no key-press confirmation is needed.

While setting (arming) the system via a key-fob controller, any triggered zone is bypassed automatically regardless of the (®11.) parameter.

If a detector has been bypassed, it starts to protect as soon as it is de-triggered (for example, if a door is closed).

3. After the system has just been set (armed)

* The keypad beeps and an exit delay will begin. The keypad displays “Exit delay”.

* The keypad indicates which sections have been set (A; B; C).

* If exit delay acoustic signalling (®6.) is enabled, the exit delay is indicated by regular beeps from the keypad (the beeps get faster in the last 5 seconds).

* For a partially set system, the exit delay may not be signalled acoustically (®7.).

* You have to leave protected areas before the exit delay (®20) elapses.

* If final-door detector mode (®12.) is triggered during an exit delay, then the exit delay is extended to the moment when the final door is closed. So you can set and leave the house comfortably without any haste. If the final-door detector is not triggered, then the system provides a normal exit delay.

4. System unsetting (disarming)

After you step into a set (armed) section, an entrance delay will begin. This is indicated by displaying “Entrance delay” on the keypad. Also, the keypad starts to beep fast if entrance delay acoustic signalling is enabled (®8.) (the wireless keypad only if it is powered from the AC adaptor or the door detector is connected to the keypad or when you open its cover). Additionally, the entrance delay time can be indicated by an indoor siren.

* During the entrance delay (® 21) you have to unset (disarm) the system by entering a valid access code (or, alternatively, presenting a valid access card, or using a valid key-fob).

JA-80K user manual 6 MKE52401


Code programming is only possible when the system is unset (disarmed) and not in maintenance mode.

In practice, it is convenient that each user has his own user code preprogrammed. The system stores to its memory which code was used for what event and when. As a factory default, all access codes (cards) are blank. To define a user code, enter the following sequence:

* 6 xxxx nn yyyy

where

xxxx is the master code

nn is the user code index (from 01 to 50)

yyyy is the new user code. By inserting 0000 the code in the nn

position will be erased

Example:

If the master code is 1234 and user 3’s new code should be 5277, enter:

* 6 1234 03 5277

Alternatively, assign a card to user 3 by entering:

* 6 1234 03 and present user 3’s card

Notes:

* Both a code and a card can be assigned to every position

* If you want to assign a code and a card to position nn set the code and then on the same position the card (or vice versa)

* If the system is programmed to require card verification by code (®5.), a user who has a code and card set always uses both (no matter which order). If the user has only a code or a card then verification does not concern him.

* If the administrator records the codes on the table in the appendix of this manual it is necessary to keep it hidden in a safe place. Better would be to use and store them in the Olink software (access is encrypted)..

* The installer sets the reaction of the system to each code and the code assignments to each section (A,B,C).

* A code cannot be assigned to 2 different positions. Code relocation can be done by deleting the code (card) and, subsequently, programming it to a new position.

* For security reasons, do not use codes which are easily predictable such as four equal digits, birth dates, company personal numbers, etc.

JA-80K user manual 11 MKE52401


10. Programming the master code (card)

The master code is used by the house owner or administrator (supervisor). The factory default setting is 1234. The administrator should program his/her own four-digit code while taking the system over from an installer. This prevents other parties from accessing the system configuration. Master code programming is only possible when the system is unset (disarmed) and not in maintenance mode.

To change an existing master code enter:

* 5 xxxx yyyy yyyy

where

xxxx is the existing master code

        yyyy is the new master code (the new code must be entered twice to avoid errors). Combination 0000 cannot be used. The master code cannot be erased.

Example:

Existing code 1234 will change to 6723 by entering: * 5 1234 6723 6723

If you wish to use an access card instead of a code, you can enter * 5 xxxx and then present the card. This makes the card authorized for system configuration.

If you forget the master code (or if you lose the card), an installer can reset the code to the factory default setting 1234 (this requires the system to be unset (disarmed). All other pre-programmed codes (cards) in the system remain unaffected.

11. Programming user codes (cards)

The system allows for up to 50 different access codes (cards). Their modification or deletion is only available to the system administrator who knows the master code. The most comfortable way to edit the user code is via Olink software.

If final-door detector mode (®12.) is active and you came in through the corresponding door, then the entrance delay would be six times longer than if it had been triggered by an ordinary detector (i.e. if you had come in through a “main door”). This way you have enough time for unsetting the system (® 22). However if any other delayed detector is activated the entrance delay will be shortened to a normal entrance delay time.

* If the is flashing on the keypad and the display is showing which

device was triggered, it means that there was an alarm. Unset the system and carefully check the reason for the alarm. Keep in mind that there could be somebody hidden on the premises. Alarm memory –

flashing - can be erased from the display by pressing button #

An unsplit system (®1.) 

* Enter a code (present a card).

* Use a key-fob: by pressing the (or ) button you will unset the

whole system.

A system with partial setting (arming) (®2.) 

* Enter a code (present a card).

* Use a key-fob: By pressing the (or ) button you will unset the

whole system.

A split system (®3.) 

* Enter a code (present a card) or use a key-fob to unset the corresponding system section.

5. To stop the alarm

  If there is an alarm in the system it can be stopped by entering a code (presenting a card or using a  on the key-fob).

Alarm signalling – a flashing and information about the reason for the

alarm – this can be terminated (after stopping the alarm) by pressing the # button. The memory entry for the last alarm can be displayed by pressing *4, to scroll through the history keep pressing button 4.




Keep in mind that there could be somebody hidden on the premises. If you have any doubts, then it is recommended to have the premises checked by a security service from the alarm receiving station.


JA-80K user manual 10 MKE52401 JA-80K user manual 7 MKE52401


6. Operating the system from an outdoor keypad

If the system is equipped with a JA-80H outdoor keypad or a JA-80N external card reader, then the outdoor device can be set to work the same way as an indoor keypad. The system will be set/unset after entering a code (presenting a card).

A more common usage of the outdoor keypad is to open the entrance door:

* Performing setting or unsetting the system is only possible via an indoor keypad (or via a key-fob controller).

* Enter a valid access code or present a valid card to the outdoor keypad to open the electronic door lock.

If the system is set, and the door is opened via an outdoor keypad, an entrance delay will begin. During this delay period the system has to be unset using an indoor keypad unit (or a key-fob).

7. Panic alarm

If you are in danger you can trigger a silent panic alarm to inconspicuously call for help. After triggering a panic alarm the system will send voice messages, SMS messages, and pass data to an alarm receiving centre (central monitoring station), depending on installation settings. A set system will be unset.

A panic alarm can be triggered as follows: 

* On the keypad – enter * 7 before entering an access code (before presenting a card). If the system has been in a set state, it will be unset = operation under duress.

* On the key-fob controller – press both and buttons simultaneously. If desired, the controller can be re-configured (by an installer) for Panic Mode, in which pressing any button will trigger the Panic alarm.

* By pressing a large-sized panic button (that can be installed on a wall, under a desk etc.).

* By a panic code or card on the keypad.

8. Controlling connected devices from a keypad

The control panel allows you to control various devices in the building, e.g. heating, air conditioners, ... (®13.) and (®14.). Control can be performed via a keypad by keying-in the following:


Device X (®13.) turn ON * 81 (or by pressing )

turn OFF * 80 (or by pressing )

Device Y (®14.) turn ON * 91

turn OFF * 90

The outputs may be used to unlock locks – opening a door via a short impulse). In this case, enter the following:

an impulse to operate (®13.) is provided by pressing * 8 (or by

pressing )

an impulse to operate (®14.) is provided by pressing * 9

Optionally, the system can be pre-programmed by a service company so that the above operations require an access code (card).

9. Remote control – by phone, Internet

  If the control panel is equipped with a suitable communicator (®C.) you can control it remotely by mobile phone (directly by using the phone’s keypad or by SMS). It can be also controlled via the Internet – after registration on www.GSMLink.cz For further details see also the communicator’s manual.

User configuration – access codes (cards)

  The following description is intended for a system administrator, who knows the control panel master code or possesses a master card which is authorized to modify the system configuration.

  All the settings can be performed via keying-in on a system keypad (or very comfortably via a PC running Olink software). An unfinished sequence can be cancelled by pressing the # key. A sequence is stored into control panel memory only after the sequence has been completely entered.

  Note: The Oasis JA-80 system has three modes: operating mode, maintenance mode and service mode. Operating mode is for the day-to-day use of the system by all authorized users, e.g. setting/unsetting (arming/disarming). Maintenance mode is for the holder of the master code (system administrator) to have limited programming of the system, e.g. changing codes/cards, bypassing and is inaccessible to all other users. Service mode is only for installers and is used to program and control all aspects of the system.


JA-80K user manual 8 MKE52401 JA-80K user manual 9 MKE52401


IRiS User Manual


April 22, 2011


Contents


1

2

Introduction

Phase 1: Detecting Recombinations

2

4


2.1

Input format

4


2.2

Command Line Parameters

4


2.3

Output format

6

3

Phase 2: Constructing subARG

8


3.1

Command line parameters

8


3.2

Output format

8

4

Example

10



1


Chapter 1

Introduction

Genetic recombinations play a key role in shaping the chromosomal landscapes. The structure that captures these genetic events as the common evolutionary history of a set samples is called an ancestral recombinations graph (ARG) in population genetics literature. The statistical and combinatoric tools for identification of recombinations in sequences (IRiS) is described here. The reconstructed ARG of a collection of samples is necessarily a subgraph of the true ARG, hence we call it a subARG.

Haplotypes

Phase 1 Statistical consensus


RecoMatrix


Given a collection of haplotypes, IRiS produces a subARG in two phases. A combinatorial algorithm called the DSR [7] is a model-based approach to detecting recombinations in haplotypes (with a guaranteed approximation factor [6]). In the first phase DSR is run multiple times with different sets of parameters and statistical consensus [3] is derived from them to produce a matrix of recombination information called the recomatrix. This encodes the local topology information of only the high confidence recombination events detected in the first phase. The subARG is constructed from the recomatrix in the second phase [1].

   IRiS is implemented in C++ and the binary executable files can be downloaded for common computing platforms from http://researcher.watson.ibm.com/researcher/view_project.php?id=2303

2


IRiS User Manual 3

The zipped folders contain three files.

* iris1 - executable file for the first phase

* iris2 - executable file for the second phase

* seqs.txt - an example input file for iris1

If IRiS is used in published analysis, it should be cited as:

Javed, A., Pybus, M., Mel´e, M., Utro, F., Bertranpetit, J., Calafell, F., and Parida, L., IRiS: Construction of ARG network at genomic scales, 2011


Chapter 2

Phase 1: Detecting Recombinations

IRiS takes haplotypic data as input. The current implementation does not allow for missing values. Therefore genotypic data needs to be phased and imputed before using the application. The methodology has been tested with haplotypes inferred using Phase [8]; and is shown to be robust to genotyping and phasing errors [3].

   A unique feature of IRiS is that in addition to the extant sequences, it allows the user to define the haplotype at their most recent common ancestor (i.e. the root of the ancestral recombination graph). This information (if available) is used by DSR only if the defined local ancestral SNP patterns are in concordance with the extant sequences.

2.1 Input format

For n chromosomes genotyped at m biallelic SNPs, the input file should be formatted as

1. The first two lines are blank.

2. The third line contains the ancestral sequence; it may be left blank as well. If the ancestral sequence is defined, the line consists of a haplotype identifier followed by the sequence. SNPs are assumed to be sorted based on their chromosomal positions and in agreement with the extant sequences. Note that blank values are not permitted. Markers with unknown ancestral allele can be indicated by assigning an allele different from the extant sequences.

3. The next four lines are blank.

4. The following n lines correspond to the n input haplotypes. Each line contains two fields: a unique haplotype identifier followed by the haplotype. Additional fields following the haplotype are ignored. The SNPs are assumed to be sorted based on their chromosomal position and consistent across the dataset.

2.2 Command Line Parameters

The binary file iris1 can be executed with command line parameters:


4


IRiS User Manual 5

ANC

2222222222

NEW0

1211221122

NEW1

1211221122

NEW2

1211212112

NEW3

1222212112

NEW4

2122112112


Figure 2.1: An example input file for five extant sequences genotyped at ten markers with available ancestral haplotype information.

iris1 <input> mergePATS=<m> pure=<p> ancestral=<a> nocluster=<n> threshold=<t> parental fact=<f> peak distance=<d> grain=<g>

where:

- iris1 assumes the name of the input file is <input file name>.txt. And it is in the format described in Section 2.1;

- m: patterns within the provided hamming distance will be merged (default 0); - p: 1/0 determines if an ancestral allele should be inferred or not (default 0); - a: 1/0 determines if ancestral haplotype is provided or not (default 0);

- n: 0/1 determines whether to cluster or not (default 1);

- t: determines the minimum threshold that a recombination must reach across multiple runs to be considered valid (default 42);

- f: determines the fraction of the recombination peak that the parental sequences have to reach to be considered valid (default 3);

- d: determines the maximum distance between parental and recombinant peaks (default 15);

- g: determines the grain sizes. The code assumes that they are separated by underscores (default 5 1020).

Note that this description can also be retrieved by executing the binary file without any parameters. Otherwise, input file must be defined at command line. If any of the remaining parameters is not set, it is assigned the default value. The default values are set to the parameter values used in [1, 3].

For example, to execute iris1 using the input file seqs.txt, a possible command line is:

iris1 seqs mergePATS=0 pure=1 ancestral=1 threshold=42 parental fact=3 peak distance=15 grain=5 10 20


IRiS User Manual 6

51

rec 1

4

0

NEW0 2

NEW1 2

NEW2 1

NEW3 3

NEW4 0



Figure 2.2: An example recomatrix file for 5 sequences indicating their role in a detected recombination rec 1. This relation is pictorially shown on the right.

2.3 Output format

The binary file iris1 generates two text files:

* < input > recombinations.txt gives a list of detected recombinations.

* < input > .dat provides the recomatrix which serves as input for iris2

   Each line in < input > recombinations.txt represents a detected recombination. The list of extant descendants of the recombination event along with the estimated breakpoint is defined. The list is sorted based on chromosomal locations.

An example recombination indicating one descendant NEW2 with the breakpoint location between SNPs 3 and 4 (starting the SNP count from 0) would be

NEW2 4

   Note that 0.5 is added to the breakpoint position if it is not clear on which side of the marker it occurs. For example, a value of 6.5 indicates that it could be between SNPs 5 and 6, or 6 and 7.

   < input > .dat contains the recomatrix which defines the local sequence relations articulated by each recombination.

* The first line contains the numbers of haplotypes n and inferred recombinations r.

* The second line contains the list of detected recombinations.

* The third line defines the corresponding breakpoint locations. This list is consistent with < input > recombinations.txt.

* The fourth line can be ignored. Currently it contains zeros corresponding to each recombination. It is intended to add flexibility to output more information pertaining to each recombination.

* The remaining n lines represent the haplotypes. Each line starts with the sequence identifier, followed by r entries indicating its role in the corresponding detected recombination.

– 0: no role


IRiS User Manual 7

– 1: descendant of the recombinant

– 2: shared ancestry with the left donor haplotype

– 3: shared ancestry with the right donor haplotype


Chapter 3

Phase 2: Constructing subARG

The recomatrix generated by iris1 is used in the second phase to construct the subARG.

3.1 Command line parameters

The binary file iris2 can be executed at command line as:

iris2 <input>

iris2 assumes that the <input> .dat is in the format described in the preceding chapter.

3.2 Output format

The binary file iris2 generates the following 4 text files:

1. < input > .net contains the subARG in format compatible with Pajek [5].

2. < input > .dot contains the subARG in a format compatible with Graphviz [4].

3. < input > node age.txt contains a list of subARG nodes along with their estimated age in units of the effective population size. The expected age of each node v is computed by Kimura and Ohta’s formula [2]

E(v) =

where p is the relative frequency of the extant descendants of the node. The age is estimated backwards in time with the present extant samples assigned 0.

4. < input > .dis contains the pairwise distance matrix computed between the input samples based on the subARG. The distance between every pair is computed as the average age of the lowest common ancestors shared by the samples. Since this matrix is symmetric, only the upper triangular entries are filled and remaining entries are assigned 0.


8


IRiS User Manual 9

5. < input > desc.txt contains the information about the internal nodes of the subARG. This has been particularly used in PCA analysis of the output. Each row corresponds to an internal node of the subARG and is a binary vector of size n where n is the number of input samples. The jth element is one if a segment borne by this node reaches sample j and 0, otherwise.


Chapter 4

Example

The subARG can be generated for the example file seqs.txt, under default parameter settings, using the following commands in order.

1. iris1 seqs

2. iris2 seqs

iris1 generates seqs recombinations.txt and seqs.dat.

iris2 generates seqs.net, seqs.dot, seqs node age.txt and seqs.dis.

These six example files are provided in the zipped folder example.zip at the download website.


10


Bibliography

[1] A. Javed, M. Mel`e, M. Pybus, P. Zalloua, M. Haber, D. Comas, M.G. Netea, O. Balanovsky, E. Bal-anovska, L. Jin, Y. Yang, G. Arunkumar, RM. Pitchappan, The Genographic Consortium, J. Bertran-petit, F. Calafell, and L Parida. Recombination networks as genetic markers: a human variation study of the old world. under submission.

[2] M. Kimura and T. Ohta. The average number of generations until fixation of a mutant gene in a finite population. Genetics, 61(30):763–71, 1969.

[3] M. Mel`e, A. Javed, M. Pybus, F. Calafelland L. Parida, J. Bertranpetit, and The Genographic Consortium. A new method to reconstruct recombination events at a genomic scale. PLoS Comput Biol, 6(11):e1001010, 2010.

[4] The Graphviz Home Page. http://www.graphviz.org/.

[5] The Pajeck Home Page. http://vlado.fmf.uni-lj.si/pub/networks/pajek/.

[6] L. Parida, A. Javed, M. Mel`e, F. Calafell, J. Bertranpetit, and The Genographic Consortium. Minimizing recombinations in consensus networks for phylogeographic studies. BMC Bioinformatics, 10(Suppl 1):S72, 2009.

[7] L. Parida, M. Mel`e, F. Calafell, J. Bertranpetit, and The Genographic Consortium. Estimating the ancestral recombinations graph (ARG) as compatible networks of SNP patterns. Journal of Computational Biology, 15(9):1133–1154, 2008.

[8] M. Stephens, N. Smith, and P. Donnelly. A new statistical method for haplotype reconstruction from population data. AJHG, 68:978–989, 2001.


11




Instruction Manual

Labnet

Spectrafuge 16M Microcentrifuge

Labnet International

PO Box 841

Woodbridge, NJ 07095

Phone: 732 417-0700

Fax: 732 417-1750

email: labnet@labnetlink.com



Safety Precautions

NEVER use the centrifuge in any manner not specified in these instructions.

NEVER operate the centrifuge without a rotor properly attached to the shaft.

NEVER fill tubes while they are in the rotor. Liquid spillage may harm unit.

NEVER put hands in the rotor area unless the rotor is completely stopped. NEVER move the centrifuge while the rotor is spinning.

NEVER use solvents or flammables near this or other electrical equipment. NEVER centrifuge flammable, explosive or corrosive materials NEVER centrifuge hazardous materials outside of a hood or proper containment facility

ALWAYS load the rotor symmetrically. Each tube should be counterbalanced by another tube of the same type and weight

ALWAYS locate the centrifuge within easy access to an electrical outlet. ALWAYS use only microcentrifuge tubes made from plastic and designed to withstand centrifugal forces of at least 16,000 xg.


Copyright January 2002, Labnet International.

All rights reserved.

Reproduction without prior written permission is prohibited.

Information contained herein is subject to change without notice.


Table of Contents

1. General Information 1

Description

Safety precautions

Technical data

Accessories supplied with unit

Warranty

2. Installation 2

Unpacking the centrifuge

Required space

Installing the centrifuge

3. Installing the Rotor 3

Rotors and accessories

Rotor maintenance

Mounting and securing the angle rotors

Removing the rotor

Overloading rotors

4. Operation 6

Closing the lid

Lid release

Lid lock

Speed selection

Selection of operating time and momentary operation

5. Service and Maintenance 8

Service

Cleaning

Disinfection

Replacing fuses

6. Troubleshooting 9

7. Where to Call 10

8. Determination of g-values 10


1. General Information

This manual provides important safety information for the Spectrafuge laboratory microcentrifuge. It should be kept near the centrifuge for quick and easy reference.

1.1 Description

The Spectrafuge is a small benchtop centrifuge designed for separation of various research samples. The motor is brushless and requires no routine maintenance. The Spectrafuge is supplied with an 18 x 1.5ml rotor for micro samples. Adapters are available for tubes smaller than 1.5ml. The Spectrafuge reaches speeds of up to 14,000rpm/16,000 x g.

1.2 Safety precautions

Note: All users of the centrifuge must read the Safety Precautions section of this manual before attempting to operate the unit!

 If this equipment is used in a manner not specified by the !manufacturer, the protection provided by the equipment may be impaired.

Do not operate the centrifuge if any of the following conditions exist:

-The centrifuge has not been installed properly

-The centrifuge is partially dismantled

-Service has been attempted by unauthorized or unqualified personnel

-The rotor has not been installed securely on the motor shaft -Rotors and accessories not belonging to the standard range are being used without permission being obtained from the manufacturer to use such rotors and/or accessories in the centrifuge Exception: Microcentrifuge tubes made of plastic, normally available in the laboratory.

-The centrifuge is located in an explosive atmosphere -Materials to be centrifuged are combustible and/or explosive -Materials to be centrifuged are chemically reactive

-The rotor load is not properly balanced


1


1.3 Technical data

Dimensions

Width 8.25 inches

Depth 8.9 inches

Height 7.6 inches

Maximum speed 14,000rpm

Maximum RCF 16,000 x g

Maximum volume 18 x 1.5/2.0ml

Admiss. density 1.2kg/dm3

Electrical/fuse rating 120V~, 50-60Hz, 1.0A/2.5AT

230V~, 50-60Hz, 0.6A/1.25AT

1.4 Accessories supplied with centrifuge

Each unit is supplied with 1 instruction manual, 1 warranty card and 1 power cord. Some models are supplied with a rotor screw wrench.

1.5 Warranty

This centrifuge has been subject to thorough testing and quality control. In the unlikely event of a manufacturing fault, our one year warranty (from the date of delivery) covers the centrifuge and the rotor. This warranty becomes invalid in the case of incorrect operation, use of nonstandard spare parts or accessories and unauthorized modification of the rotor or centrifuge.

Labnet reserves the right to make technical modifications. Statements contained herein are not to be considered binding.

2. Installation

2.1 Unpacking the centrifuge

Before unpacking the centrifuge, inspect the outside of the carton for any shipping damage.

The centrifuge is delivered in a carton with protective cushions. Remove the centrifuge from the carton. Retain the carton and cushions until it has been established that the centrifuge is working properly.

Inspect the centrifuge for any visible signs of shipping damage.

Shipping damage is the responsibility of the transportation

2


carrier. Any claims for damage must be filed within 48 hours.

The accessories supplied with the centrifuge should be kept with the instruction manual near the centrifuge’s place of installation.

2.2 Required space

The centrifuge should be installed on a rigid, even surface such as a stable laboratory bench, cabinet, etc. To guarantee sufficient ventilation, ensure that the centrifuge has at least 15cm (6 inches) of free space on all sides, including the rear.

The centrifuge should not be located in areas subject to excessive heat such as in direct sunlight or near radiators or the exhaust of a compressor, as a buildup of heat may occur within the chamber.

2.3 Installation

Make certain that the timer is set to the off position. Before operating the centrifuge, check that the power source corresponds to that on the manufacturer’s rating label, then connect the power cord to the centrifuge and the power source.

ATTENTION: The timer must be in the OFF position before connecting the power cord. Failing to place the timer in the off position may result in damage to the centrifuge and injury to personnel.

3. Installation or rotors and rotor maintenance

3.1 Rotors and accessories

The following accessories are available for the Spectrafuge:

Angle rotor for 18 x 1.5ml tubes

Order no. Included with unit

Tube measurement 1.5ml (10 x 40mm)

Max. speed 14,000rpm

Centrifuging radius 7.3cm

RCF (g-value) 16,000 x g

Adapter for 0.5ml tubes

Order no. C-1205

Tube measurement 8 x 30mm

Max. speed 14,000rpm

Centrifuging radius 6.6cm

RCF (g-value) 14,462 x g

3


Adapter for 0.4ml tubes

Order no. C-1206

Tube measurement 6 x 47mm

Max. speed 14,000rpm

Centrifuging radius 7.3cm

RCF (g-value) 16,000 x g

Adapter for 0.2ml tubes

Order no. C-1222

Tube measurement 6 x 21mm

Max. speed 14,000rpm

Centrifuging radius 6.1cm

RCF (g-value) 13,366 x g

3.2 Rotor maintenance

The rotor should be cleaned thoroughly after each use. Thorough cleaning must be performed when spinning samples containing phenol or phenol chloroform. Periodically inspect the rotor for dents, dings, scratches, discoloration and cracks. If any damage to the rotor is found, discontinue use of the rotor immediately and replace.

3.3 Mounting and securing the angle rotor

Remove the rotor screw from the motor shaft by turning the screw counterclockwise. Clean the motor shaft and the rotor mounting hole (see figures 1&2). Place the rotor on the motor shaft ensuring that the cross-pin (figure 1) aligns correctly with the rotor slot (see figure 2). Note: Figures 1 and 2 are located on the following page.

Reinstall the rotor screw on the motor shaft by turning it clockwise. Hold the rotor with one hand and hand-tighten the rotor screw. Use an adjustable or 1/4 inch wrench (some units are supplied with a wrench) to tighten the screw an additional quarter turn.

When loading the rotor, refer to figure 3 (located on page 5). Loading in the pattern indicated will ensure a balanced load. Tubes to be loaded should be filled equally by eye. The difference in the weight between the tubes should not exceed 0.1 gram. A partially loaded rotor may be centrifuged if the loading scheme for balancing a rotor given in figure 3 is followed.


4



Figure 1. Chamber and motor shaft


Figure 2. Bottom of angle rotor



Figure 3. Loading the rotor

5


3.4 Removing the rotor

Using an adjustable or 1/4 inch wrench (some units are supplied with a wrench) loosen the screw and remove the rotor retaining screw/washer assembly by turning it counterclockwise. Lift the rotor directly upward in a straight vertical motion.

Caution: Be sure to secure the rotor screw and tighten with a wrench before further operation.

3.5 Overloading rotors

The maximum load of the rotor and the maximum speed have been established by the manufacturer. Do not attempt to exceed these values. The maximum speed of the rotor has been measured for liquids having a homogeneous density of 1.2g/ml or less. In order to centrifuge liquids with a higher density it is necessary to reduce the speed. Failure to reduce the speed may result in damage to the rotor and centrifuge. The revised maximum speed can be calculated with the following formula:

Reduced speed (nred) = 1.2 x max speed (nmax)

higher density value

Example:

Where the density of the liquid is 1.7, the new maximum speed would be calculated as follows:

1.2 x 14,000 = 9,882 rpm

1.7

If in doubt concerning maximum speeds, please contact the manufacturer for assistance.

4. Operation

ATTENTION: Never attempt to operate the centrifuge with rotors or adapters that show signs of corrosion or mechanical damage. Never centrifuge strongly corrosive materials that may damage the rotors or accessories.

4.1 Closing the lid

After the rotor has been properly secured and loaded, close the centrifuge lid, making sure that the interlock has been engaged.

6


4.2 Lid release

Once the run has been completed and the rotor come to a stop, the lid will open automatically. If the lid does not open automatically, press the lid button. Note that the lid button will not operate while the rotor is spinning.

WARNING: Do not attempt to open the lid of any centrifuge until the rotor has come to a complete stop.

In the event of a power failure or malfunction, it may be necessary to open the lid manually.

1. Disconnect the power cord from the wall socket.

2. Remove the plastic plug, located on the left side of the unit, below the quick button.

3. Pull the cord (attached to the plug) to open the lid lock manually.

4.3 Lid lock

The centrifuge can be started only with the lid securely closed. When the rotor begins to accelerate, the lid lock indicator light turns on and the lid button becomes inoperable. Do not attempt to open the lid until the lid lock indicator turns off. At the end of the run, the lid will automatically open.

4.4 Speed selection

The speed (rpm) can be selected to 14,000rpm with the knob labeled “speed”. The scale is directly proportional to the speed - a setting of 9 corresponds to 9,000rpm, a setting of 13 corresponds to a speed of 13,000rpm, etc.

7


4.5 Selection of operating time and momentary operation

Operation of the centrifuge begins when the timer knob is turned clockwise to set a run time. For run times less than 5 minutes, turn the knob clockwise past the halfway point and then counterclockwise to the desired time. For run times longer than 5 minutes, turn the knob clockwise to the desired time.

When the preselected time expires, the centrifuge will stop automatically. To stop the centrifuge prior to the expiration of set time, turn the timer knob to the zero position.

The centrifuge may be operated manually by pressing and holding the quick button. The centrifuge will continue to run as long as the button is depressed.

Some models are equipped with a timer that includes a hold position. Continuous operation of these models may be achieved by turning the timer knob firmly to the left. The centrifuge will continue to operate until the knob is turned to the zero position.

Note: The timer knob may be turned in either direction during operation of the centrifuge without damage to the timer mechanism.

5. Service and Maintenance

5.1 Centrifuge service

The brushless motor in the Spectrafuge 16M requires no routine maintenance. Any required service should be performed by authorized, qualified personnel only. Repairs performed by unauthorized personnel may void the warranty.

5.2 Cleaning the centrifuge

Always keep the centrifuge housing, rotor chamber, rotor and rotor accessories clean. All parts should be wiped down periodically with a soft cloth. For more thorough cleaning, use a neutral cleaning agent (pH between 6 and 8) applied with a soft cloth. Excessive amounts of liquid should be avoided. Liquid should not come into contact with the motor. After cleaning, ensure that all parts are dried thoroughly by hand or in a warm air cabinet (maximum temperature 50ºC)

5.3 Cleaning the rotor

The rotor should be cleaned after each use. When spinning

8


samples containing phenol or phenol chloroform, the rotor should be cleaned immediately after use.

5.4 Disinfection

Should a spill of infectious materials occur within the rotor or chamber, the unit should be disinfected. This should be performed by qualified personnel with proper protective equipment.

5.5 Replacing fuses

Check the fuse when it is recommended in the Troubleshooting Guide located in this manual. The fuse holder is located in the power inlet on the rear of the unit. Disconnect the power cord from the power inlet. Open the fuse holder drawer by inserting a small screwdriver under the tab and prying it open. Remove the innermost (operative) fuse from its retaining tabs and replace the fuse if necessary. A spare fuse is located in the outermost chamber of the fuse drawer. Replace only with a fuse of exactly the same value as the original. (Fuse type may be found in the Technical data section of this manual.)

6. Troubleshooting Guide

Please refer to this guide before calling for service.

Centrifuge will not start

Possible reason: No power supply

Solution: Check that power is being supplied to

the outlet

Check that the power cord is plugged into both the wall outlet and the back of the centrifuge

Check that power cord is not damaged

Possible reason: Blown fuse

Solution: Check fuse and replace if necessary

Lid lock will not release

Possible reason: Defective lid lock

Solution: Open manually and have unit serviced

Possible reason: No power from PC board

Solution: Call for service

Possible reason: Lid lock is jammed

Solution: Call for service

9


Possible reason: Centrifuge is not receiving power

Solution: See “Centrifuge will not start”

Centrifuge cannot be started, although power is on

Possible reason: Lid not closed correctly

Solution Close lid correctly

Possible reason: No speed or time has been selected

Solution: Set speed and/or time

7. Where to call

Should you have any questions about the Spectrafuge or its accessories, please call Labnet’s Customer Service Department at 732 4170700. Customer Service is staffed from 8:30am to 5:30pm, EST, Monday through Friday. Our 24 hour fax number is 732 417-1750. Inquiries may also be sent via our electronic mailbox at labnet@labnetlink.com.

Should your Spectrafuge require service, please call Labnet’s Technical Services Department at 732 417-0700. Our Service Department is staffed from 8:30am to 5:00pm, EST, Monday through Friday. Our 24 hour fax number is 732 417-1750. Electronic mail may be sent to labnet@labnetlink.com.

Please have the unit’s serial number (located on the back panel of the instrument) available when calling. Should an item require return to Labnet for service, a repair return authorization (RRA) number must first be received from Labnet. Items sent without an RRA number will not be accepted.

8. Determination of g-values

The centrifuging radius of the 1.5ml rotor is 7.3cm. See Section 3.1 for the correct radius when using adapters and smaller tubes. The chart on the next page can be used to determine g-values.


10







Allen Tate Company

Active Listings MarketShare for TOP 10 Real Estate Companies


0

100

150

200

250

300

400

500

Total

100

150

200

250

300

400

500

UP


243

519

408

341

242

267

227

479

2,726

94

136

105

86

44

48

23

49

585

73

109

96

42

39

61

42

117

579

84

99

48

39

40

49

38

95

492

11

14

24

42

14

29

53

41

228

10

21

24

18

23

26

18

66

206

26

61

20

16

12

14

6

16

171

10

22

19

17

15

28

16

31

158

0

0

0

0

1

4

0

150

155

22

21

31

13

9

13

7

7

123



Listing Market Share

Top 10 Real Estate Companies



Data Collected: 1/8/2007


Allen Tate Company

Active Listings MarketShare for TOP 10 Real Estate Companies


0

100

150

200

250

300

400

500

Total

100

150

200

250

300

400

500

UP


243

519

408

341

242

267

227

479

2,726

94

136

105

86

44

48

23

49

585

73

109

96

42

39

61

42

117

579

84

99

48

39

40

49

38

95

492

11

14

24

42

14

29

53

41

228

10

21

24

18

23

26

18

66

206

26

61

20

16

12

14

6

16

171

10

22

19

17

15

28

16

31

158

0

0

0

0

1

4

0

150

155

22

21

31

13

9

13

7

7

123



Listing Market Share

Top 10 Real Estate Companies



Data Collected: 1/8/2007


Ocumpaugh, Baker and Rodrigo

BakeræRodrigo Observation Method Protocol (BROMP) 1.0 Training Manual version 1.0

Baker-Rodrigo Observation Method Protocol (BROMP) 1.0

Training Manual version 1.0

Oct. 17, 2012

Jaclyn Ocumpaugh, Worcester Polytechnic Institute

Ryan S.J.d. Baker, Columbia University Teachers College

Ma. Mercedes T. Rodrigo, Ateneo de Manila University

History/Purpose of this Method:

      The protocol for Quantitative Field Observations (QFOs) discussed here, termed the Baker-Rodrigo Observation Method Protocol (BROMP) 1.0, were initially developed by Ryan Baker and Ma. Mercedes T. Rodrigo . This method is used to record observations of student behavior and/or affect in field settings. Typically, these observations are then synchronized to log-file data compiled by the educational software that students are using at the time of the observations (although they have not been synchronized in all research using these methods). EDM researchers can then use data mining algorithms to determine what patterns in the software interactions correlate with the observational categories noted in the field. In this way, we can build detectors for the educational software that predict when students are in need of intervention because they are bored, frustrated, confused, off-task, etc.

      The first publication to use these QFO protocols was Baker, Corbett, Koedinger, & Wagner (2004), which looked at student behavior (e.g., was the student on-task working alone, on-task but participating in conversation, off-task, or gaming the system). The coding schemes for affect (initially developed by Graesser and his colleagues, cf. D’Mello, Graesser, & Picard, 2007) were incorporated later (first in Rodrigo et al., 2007; the best description of this work is found in Baker, D'Mello, Rodrigo, and Graesser, 2010). In this method, behavior and affect are coded separately, because they are at least partially orthogonal (e.g., a student could be gaming the system and bored, or gaming the system and frustrated). Any behavior or affect not fitting in the scheme is noted as being outside the scheme (for instance, we do not typically include “surprise” or “delight” in our coding scheme, but they are occasionally seen, particularly in software environments with a more game-like design).

      The observers base their judgment of a student’s state or behavior on the student’s work context, actions, utterances, facial expressions, body language, and interactions with teachers or fellow students, in line with Planalp et al.’s (1996) descriptive research on how humans generally identify affect, using multiple cues in concert for maximum accuracy rather than attempting to select individual cues. In our experience, attempting to focus on specific cues substantially reduces inter-rater reliability, as compared to more holistic judgment of behavior and affect.

      Previous research has produced a number of successful models based on these observations. In terms of behavior, these methods have been used to develop and validate models that can infer gaming the system (Baker, Corbett, & Koedinger, 2004; Baker, Corbett, Roll, & Koedinger, 2008) and off-task behavior (Baker, 2007). In terms of affect, these methods have been used to develop and validate models that can infer confusion, boredom, frustration, and engaged concentration (Baker et al., 2012, San Pedro et al., under review).

      These methods have also been used to study affect and the contexts and fashions in which affect emerges and changes over time (cf. Rodrigo et al., 2007, 2008a, 2008b; Baker, Rodrigo, &


Ocumpaugh, Baker and Rodrigo

BakeræRodrigo Observation Method Protocol (BROMP) 1.0 Training Manual version 1.0

Xolocotzin, 2007; Baker, D’Mello, Rodrigo, & Graesser, 2010; Baker, Moore, et al., 2011; San Pedro et al., 2011; Hershkovitz et al., 2012; Rodrigo, Baker, & Rossi, in press).

      These methods have been used to study and model affect in a range of computer-based learning environments, including Aplusix, The Incredible Machine, ASSISTments, EcoMUVE, Cognitive Tutor Algebra, Cognitive Tutor Geometry, Ecolab/M-Ecolab, the Middle School Mathematics Tutor/Scooter the Tutor, Science ASSISTments, the SQL-Tutor, BlueJ, Dr. Racket, and the Chemistry Virtual Laboratory. The methods have been used on students from kindergarteners to undergraduate populations. The methods have mostly been used to study learners using technology, but are now being used in other contexts as well, including the study of kindergartners learning in group activities (cf. Fisher et al., in preparation).

Human Affect Recording Tool (HART) for Android:

      We have developed an Android application, named HART, the Human Affect Recording Tool, to facilitate researchers in conducting QFOs according to the BROMP 1.0 protocol. This application is discussed in detail in (Baker et al., 2012). It synchronizes your observations to internet time, so that your data can be precisely synchronized to the log file data from the educational software being studied.

      The HART application will ask you, as the coder, to input data about the school and classroom you are observing, then ask you to enter student IDs for the students you are

observing. Once you have done that, it will present those student IDs to you in the order that you entered them, asking you to code behavior and affect for each student until you tell it that you are finished. It automatically saves this data for you, and you can email it to a pre-designated address when you’re done. (See “HART Quick Start” section, below, for more details on this process.)

HART Quick Start:

      This section will provide you with a basic understanding of the mechanics of HART, the android application developed to implement the BROMP 1.0 procedure for QFOs.

1. Always check to make sure that you aren’t in airplane mode before you start observing. If you are, the observations won’t sync to internet time. (You will receive a warning from the software.)

2. Open the HART program on the phone

3. You will be asked to provide USER information (that’s you), as well as information about the software, the school, and the classroom that you’re observing.

4. The password for HART is “maria” (in all lowercase letters).

5. You’ll need to tell the program how many students you are going to code in that class session before you can start entering student IDs or pseudonyms. Currently, you cannot add or subtract from that number without starting over, which can complicate things if students are late or leave early. (Or, if you enter in their user-IDs before they come into the classroom to save time.)

6. You will also be asked to tell the program which coding scheme you will be using. Currently there are several pre-programmed into the application, but it is possible for a programmer to customize these to fit new needs. (Customization is NOT something that


Ocumpaugh, Baker and Rodrigo

BakeræRodrigo Observation Method Protocol (BROMP) 1.0 Training Manual version 1.0

you can do when already in the field, however. You should stick with the coding scheme that your team has decided upon ahead of time.)

7. After you have provided a student count, you will need to enter in the user-IDs for each student. Usually, this refers to the login ID that students use to access the software you are observing. Usually, this means that you have to go around the room and ask each student what their ID is at the beginning of the observation session. You will need to collect the login information in the order that you’re going to observe these students.

8. Once you have entered in all of the students’ login information, HART will ask you if you’re ready to start recording. (Yes!)

9. When you start recording, HART will present the login ID of the first student you entered. You should enter the behavior and affect in accordance with the training you have on that coding scheme, then hit “ok” to move on to the next student. HART will automatically present students in the order that you entered them in at the beginning of the session.

10. Saving: When you are done, the program will ask you if you are sure, and then it will email the data to the email address you have programmed in. If something malfunctions with the email process (or if the program crashes before this happens), your data will still be saved on the phone. You’ll just have to retrieve it manually (via a USB connection).

Observational Tips for Preventing and Correcting Miscoding:

* Seating charts aren’t necessary, but they can facilitate the coding process.

o Having a seating chart as a reference allows a coder to cross-out students who leave, come in late (and therefore weren’t entered into HART at the beginning of the session), switch seats, complete the software task for the day, etc. It also allows the coder to make other notes as necessary.

o Obtaining a seating chart from a teacher ahead of time can speed the process of inputting student logins considerably, though it is important to confirm that no student is absent and that nobody has changed seats. It is also important to be cautious to verify whether the teacher’s seating chart accurately matches the classroom layout.

* During coding, errors may occur, where you accidentally code something different than what you intended to code. If you realize you have miscoded a student, you should note the observation number and the corrected code, for later correction of the data file. The observation number can be seen at the top of the screen, next to the student ID.

* If many coding errors are occurring, necessitating correction, it is useful to slow down when entering the data. It is important to enter data promptly, for log synchronization, but not at the cost of entering incorrect data.


Ocumpaugh, Baker and Rodrigo

BakeræRodrigo Observation Method Protocol (BROMP) 1.0 Training Manual version 1.0

Physical Presence in the Classroom:

* Try to be as unobtrusive as possible. Kids are naturally curious, but they’re also used to being watched. If you don’t draw attention to yourself (and you’re not staring at them), they’ll probably forget you’re there.

* Boring people attract very little attention. The best way to be boring is to look bored yourself.

* In general, it’s a good idea to stand diagonally behind the student you’re coding. Typically we advise that you stand behind the student that you just observed while making the observation of the next student. However, you may be less obtrusive when you aren’t moving at all. If you can find a location in the classroom that requires minimal movement but still allows you to see what’s going on with large numbers of students, that is just as good as the technique where you’re moving after each observation.

* Try to notice BOTH what is going on with the student’s physical presentation and with the computer screen. (If they are highly engaged with a videogame instead of the assigned educational software, we’ll want to make sure that they are coded as “off task.”) However, if you can’t get all three, face and body-language generally more critical than the computer screen.

* If a student asks you what you’re doing, a good answer that is truthful and non-problematic is “we’re looking at how students are responding to the software.” This may prompt them to provide you with complaints about the software. It’s probably a good idea to validate their concerns with an apology even if you’re not affiliated with the software developers (but make it clear that you are not the developer of the software yourself). If it seems like a particularly important problem (e.g., inability to login), make sure that they’ve notified their teacher, but keep your interaction with the student as short as possible so that you can deflect attention away from you.

* It may be a good idea to tell teachers what your cover story is before you get to the classroom. This way they don’t introduce you as the person watching whether or not a student is behaving! At the very least, it’s good to warn them that you’re trying to be very unobtrusive. One field coder used to tell teachers ahead of time that “If I’m doing it right, the students will think I’m staring angrily at my phone the whole time.”

* If a student notices that they are being coded, it is best to abandon that observation (marking it “?”, “?” as discussed below). Occasionally, one student will become sensitized to the observations and will repeatedly look at the observer to see if they are being watched. In this case, it is usually best to drop the student from observation for the rest of the session (e.g. always marking the student as “?”, “?”).

* During field observations, it can be useful to have a third person (non-observer) to entertain questions and inquiries, if possible. This enables the observers to focus solely on the observations task. Having the observer answer questions while they are observing is distracting.

Typical Coding Schemes (can be modified):

      We use a dual coding scheme for this method, coding behavior separately from affect. There are several coding scheme choices to choose from when you start a session, and it is possible for a programmer to customize a new coding scheme that can be installed on the phone.


Ocumpaugh, Baker and Rodrigo

BakeræRodrigo Observation Method Protocol (BROMP) 1.0 Training Manual version 1.0

Once you have selected this scheme on the phone, you will be automatically presented with ONLY the behaviors and ONLY the affects included in that coding scheme. These may include:

1. Behavior:

a. On task

b. On task conversation (with either teacher or peer)

c. Off task

d. $ (= “gaming the system”)

e. ? (= “other”)

2. Affect:

a. Engaged concentration

b. Confusion

c. Boredom

d. Frustration

e. Delight

f. ? (= “other”)

Note that “?”, “?” typically means a student who could not be coded, either because they were not present, or because they noticed the field observation taking place.

Notes on ambiguous behavior or affect:

      You will undoubtedly encounter numerous instances during your observations where a student may be doing more than one thing at a time. In general, you should use your best judgment to determine the predominant behavior/affect that the student is presenting OR you should code a “?” (our “catch-all” category for anything that doesn’t fit our coding scheme. Behavior and affect are cultural constructs that we learn to identify as we grow up in that culture. We use clues like facial expressions, body language, vocal expression, and other contextual clues to make holistic decisions about what other people are doing and thinking all day. Most people are competent at doing this, but it is important to be consistent in labeling. This section is meant to give you some guidelines for common questions that new coders have.

      Behavior coding is generally pretty straightforward. However, there are a few instances that might be worth discussing. For example:

1. A student is waiting with their hand in the air. They aren’t working on their assignment

within the software, but that appears to be because they are legitimately waiting for the teacher. This should probably be coded as on-task, even though they are not engaged with the software at the time. Of course, you should use your best judgment. If a student seems to be manipulating the teacher to avoid work, you should code that student as off-task. If you are not


Ocumpaugh, Baker and Rodrigo

BakeræRodrigo Observation Method Protocol (BROMP) 1.0 Training Manual version 1.0

2. Similarly, if a student is doing scratch work on paper, they may not appear to be engaged

with the software. However, if they are using that scratch work in a manner that is consistent with the learning task, you should still code them as on-task.

3. Or, you may see two students who are working but sporadically discussing last night’s

television show. This is definitely a case where you should use your best judgment to determine which behavior is predominant. Remember to consider things like posture, body language, and facial presentations (e.g., are they mainly looking at their own computer screens, or is there a lot of turning to face each other during the conversation). If the student you are coding appears to be mostly concentrated on the educational task, you can code that student as on task. If, however, that student is more oriented towards their classmate, you should probably code them as off-task.

4. A student first appears to be off-task because he or she is staring into space, but then you notice that he or she is responding to a teacher or another classmate who is asking them an on-task question. You should consider coding the student as on-task if their responses indicate that they were paying attention the whole time.

When in doubt, always use the “?” option.

      Affect is somewhat trickier to code, since you are more likely to see overlap with it than you are with the behavior categories that we use. For example, you are more likely to see a student who is confused become frustrated than you are to see a student who is both on- and off-task at the same time (although note #3 above!). In cases such as these, you should choose the affect which appears predominant (and if one clearly precedes the other, choose the one which occurs first). If a student appears more focused than confused, code “engaged concentration.” If a student’s appears confused and frustrated, and the frustration is strong (e.g. a temper tantrum), code frustration. However, if you’re not sure, what the student’s affect is, use the “?” option.

      One reason that many novice coders struggle is that they lack confidence in making these distinctions. Boredom is often obvious, but other affect categories sometimes show considerable overlap in facial expressions and posture. Indeed, a student who is experiencing “engaged concentration” may have a facial expression (a “scowl”) that is quite difficult to distinguish between confusion and/or frustration at first glance. If you are not sure, take a few extra seconds to make your decision. You should still code the first affect that you see; if their initial affect is uncertain but then clearly changes (e.g. you’re not certain if they are confused or bored, but then an event happens across the room which delights them), you should use the “?” code. However, given a couple of extra seconds you might see sighs, fist pounding, or just general persistence that will help you to determine which affect the student is displaying.

      In cases where affects may overlap you should use your best judgment and code the affect that is predominant. There are other times, where it may seem like you have too little evidence to make a decision. If you’re really not sure, you should code a “?” for that student’s affect, but often you just need to pause and give yourself a few more seconds to make a decision. (Learning to do this can be challenging for novice coders.) To summarize, here are a few examples that might cause a novice coder to hesitate or question his/her own judgment about a student’s affect:

1. A student who is experiencing “engaged concentration” MAY scowl. Particularly if facial expression is your primary clue for this student’s affect, you should take a few seconds to observe the student before jumping straight to deciding they are confused or frustrated.


Ocumpaugh, Baker and Rodrigo

BakeræRodrigo Observation Method Protocol (BROMP) 1.0 Training Manual version 1.0

2. Confusion and frustration may occur at the same time, since one may trigger the other. If you see this, code the one that seems most prominent.

3. Yawning is a good indication of boredom, but it may just mean that the student is tired. Look for what they do before and after yawning.

4. If a teacher is answering questions that indicate a student does not understand part of the material, it might be evidence that the student is confused.

5. A student may be tapping rhythmically because he or she is engaged in concentration. Another student may be doing this because he or she is bored and off task. Use other contextual clues when interpreting such behavior.

6. Sometimes, especially with female students, you may not be able to see a student’s face because his or her hair is covering it. If the rest of the body language indicates that they are appropriately engaged in the material, you can code them as ‘concentrating,’ but if you’re in doubt, use the ‘?’ code.

Field Training Process:

      We have a relatively short field training process that ensures that field observers are consistently coding using the BROMP protocol for QFOs. In addition to the information presented here, we provide an initial training session outside of the field before taking each coder into the field to practice on students who are using the software. After a couple of practice rounds, we run statistical checks to determine whether or not the novice coder is consistently understanding the protocol and the labeling system. This section provides an overview of the process we use to certify new trainers.

      In the initial training session, novice coders are introduced to the general concepts that the field observations are designed to address. (See History/Overview section, above.) They are also given an opportunity to interact with the HART, the android application that we use to record data. Short videos are played, and discussions of the coding scheme, including ambiguous examples, take place so that novice coders have the opportunity to ask questions about the labeling scheme.

      Once we enter the field, a novice coder is paired with an experienced, certified trainer. During the first observation session (usually one class), the novice and the trainer practice entering information into HART, and then quietly discuss each student in the order that HART presents them. In this way, the novice has further opportunities to familiarize himself/herself with HART and an opportunity to ask more questions about the labeling scheme. Once the novice appears comfortable with these two issues, the certification process can begin.

      In order to be certified, we have to know that the novice not only understands the process but is coding consistently with the trainer. In sessions where we test this, the novice and the trainer will work together to signal which student is being coded. Since the goal is to code the first affect/behavior witnessed, this usually requires some sort of hand signal or countdown so that both coders are beginning their observation at the exact same time. Typically, we like to have at least 60 observations before we check for consistency between the novice and the trainer. In order to do so, we calculate for Kappa (rather than for accuracy), which takes into account the base rate and the number of categories available in the coding scheme. Sixty observations can usually be collected in one class period, but it often takes more than one round of this process before a novice coder can be certified.

Acknowledgements:


Ocumpaugh, Baker and Rodrigo

BakeræRodrigo Observation Method Protocol (BROMP) 1.0 Training Manual version 1.0

      This report was prepared in part with funding from the National Science Foundation through the Pittsburgh Science of Learning Center, Award # SBE-0836012, and the Bill and Melinda Gates Foundation, Award #OPP1048577. We would also like to thank the colleagues who have refined the method by learning and using it.

References:

Baker, R.S.J.d. (2007) Modeling and Understanding Students' Off-Task Behavior in Intelligent Tutoring Systems. Proceedings of ACM CHI 2007: Computer-Human Interaction, 1059-1068.

Baker, R.S.J.d., Gowda, S.M., Wixon, M., Kalka, J., Wagner, A.Z., Salvi, A., Aleven, V., Kusbit, G., Ocumpaugh, J., Rossi, L. (2012) Sensor-free automated detection of affect in a Cognitive Tutor for Algebra. Proceedings of the 5th International Conference on Educational Data Mining, 126-133.

Baker, R.S., Corbett, A.T., Koedinger, K.R. (2004) Detecting Student Misuse of Intelligent Tutoring Systems. Proceedings of the 7th International Conference on Intelligent Tutoring Systems, 531-540.

Baker, R.S., Corbett, A.T., Koedinger, K.R., Wagner, A.Z. (2004) Off-Task Behavior in the Cognitive Tutor Classroom: When Students "Game The System". Proceedings of ACM CHI 2004: Computer-Human Interaction, 383-390.

Baker, R.S.J.d., Corbett, A.T., Roll, I., Koedinger, K.R. (2008) Developing a Generalizable Detector of When Students Game the System. User Modeling and User-Adapted Interaction, 18, 3, 287-314.

Baker, R.S.J.d., D'Mello, S.K., Rodrigo, M.M.T., Graesser, A.C. (2010) Better to Be Frustrated than Bored: The Incidence, Persistence, and Impact of Learners' Cognitive-Affective States during Interactions with Three Different Computer-Based Learning Environments. International Journal of Human-Computer Studies, 68 (4), 223-241.

Baker, R.S.J.d., Moore, G., Wagner, A., Kalka, J., Karabinos, M., Ashe, C., Yaron, D. (2011) The Dynamics Between Student Affect and Behavior Occuring Outside of Educational Software. Proceedings of the 4th bi-annual International Conference on Affective Computing and Intelligent Interaction.

Baker, R.S.J.d., Rodrigo, M.M.T., Xolocotzin, U.E. (2007) The Dynamics of Affective Transitions in Simulation Problem-Solving Environments. Proceedings of the Second International Conference on Affective Computing and Intelligent Interaction.

D’Mello, S.K., Graesser, A., Picard, R.W. (2007) Toward an affect-sensitive AutoTutor. IEEE Intelligent Systems, 22 (4), 53-61.


Ocumpaugh, Baker and Rodrigo

BakeræRodrigo Observation Method Protocol (BROMP) 1.0 Training Manual version 1.0

Hershkovitz, A., Baker, R.S.J.d., Gobert, J., Nakama, A. (2012) A Data-driven Path Model of Student Attributes, Affect, and Engagement in a Computer-based Science Inquiry Microworld. Proceedings of the International Conference on the Learning Sciences.

Planalp, S., DeFrancisco, V.L., Rutherford, D. (1996) Varieties of Cues to Emotion in Naturally Occurring Settings. Cognition and Emotion, 10 (2), 137-153.

Rodrigo, M.M.T., Baker, R.S.J.d., Lagud, M.C.V., Lim, S.A.L., Macapanpan, A.F., Pascua, S.A.M.S., Santillano, J.Q., Sevilla, L.R.S., Sugay, J.O., Tep, S., Viehland, N.J.B. (2007) Affect and Usage Choices in Simulation Problem Solving Environments. Proceedings of Artificial Intelligence in Education 2007, 145-152.

Rodrigo, M.M.T., Baker, R.S.J.d., d'Mello, S., Gonzalez, M.C.T., Lagud, M.C.V., Lim, S.A.L., Macapanpan, A.F., Pascua, S.A.M.S., Santillano, J.Q., Sugay, J.O., Tep, S., Viehland, N.J.B. (2008) Comparing Learners' Affect While Using an Intelligent Tutoring Systems and a Simulation Problem Solving Game. Proceedings of the 9th International Conference on Intelligent Tutoring Systems, 40-49.

Rodrigo, M.M.T., Rebolledo-Mendez, G., Baker, R.S.J.d., du Boulay, B., Sugay, J.O., Lim, S.A.L., Espejo-Lahoz, M.B., Luckin, R. (2008) The Effects of Motivational Modeling on Affect in an Intelligent Tutoring System. Proceedings of International Conference on Computers in Education, 57-64.

Rodrigo, M.M.T., Baker, R.S.J.d., Rossi, L. (in press) Student Off-Task Behavior in Computer

Based Learning in the Philippines: Comparison to Prior Research in the USA. To appear

in Teachers College Record.

San Pedro, M.O.C., Baker, R.S.J.d., Rodrigo, M.M. (2011) The Relationship between Carelessness and Affect in a Cognitive Tutor. Proceedings of the 4th bi-annual International Conference on Affective Computing and Intelligent Interaction.


MANUAL ADDENDUM. Replaces following chapters: 

1-4-3 "AR-IQ II software installation" p.12

3. "Software registration" p.14-15 

Software installation and registration are not needed anymore. Simply insert the USB license dongle in a free USB port on your PC.




* Using the USB license dongle for the first time:

(1) Insert the USB dongle in an available USB port of your PC. Windows will automatically install a driver, recognize it as a common USB flash drive named AR-IQ and assign a drive letter such as "D:", "E:" etc...

WARNING: Our USB dongles are guaranteed without virus infection, nevertheless some virus detection software may detect the execute file "ar-iq-ii.exe" as a virus (or Trojan). This is called a false-positive alarm and does not mean that "ar-iq-ii.exe" is indeed infected. Whenever your virus detection software informs you about a possible threat, it usually gives you a choice of options about what to do next. Be sure to flag "ar-iq-ii.exe" as a SAFE file, otherwise the AR-IQ2 software will not run  and "ar-iq-ii.exe" might be rendered unusable or even deleted by the virus detection software. 

It is your responsibility to make sure that your virus detection software does not accidentally render the USB dongle and I/Q software unusable. The license information data inside the USB dongle is unique and cannot be copied or backed-up. If you damage the USB dongle, a new one needs to be purchased. 

(2) Inside the USB dongle, locate the folder "ar-iq-ii-v.X" ("X" being the software version). The software's executable "ar-iq-ii.exe" is located inside this folder. The software should be run directly from the USB dongle.

03 Double click "ar-iq-ii.exe" to start the program.

® When you start the software for the first time, Windows will ask you to which COM PORT the device (receiver) is connected. Providing the correct number is entered, it will be saved in the registry, therefore you should not need to enter it again. Nevertheless, after connecting the receiver to a different USB port on your PC, the COM port number will change. If the com port number you entered is incorrect, the following error message will appear:


©2015 AOR, LTD.


To check the COM PORT number to which the receiver is connected, click on:

START > CONTROL PANEL > SYSTEM > HARDWARE > DEVICE MANAGER and search for COM &

LPT PORTS. Click on the + sign to extend the directory.

Look for USB SERIAL PORT (COMX) where X is the com port number you need to enter.

u Validate with the RETRY button.

Refer to the following chapter 4 for details on how to operate the software.

Do never record I/Q data directly to the USB donglel Choose a location on your hard drive instead.

Note: • One USB 2.0 port is required to use the USB dongle license system, as it needs to be inserted

would have to be purchased.



02015 AOR, LTD.


FRulekit: A Frame-Based Production System


User’s Manual

4 November 1993

Peter Shell

Jaime Carbonell

Copyright ? 1993 Carnegie Mellon University


RULEKIT MANUAL PAGE 1

1. Introduction

FRulekit is an experimental production system written in Commonlisp. At its core is an augmented

implementation of the OPS Rete pattern matcher. As well as the standard OPS5 conflict resolution

1

strategies of LEX and MEA and an extended strategy, it also allows users to write their own conflict strategies, and incorporates an agenda system for controlling the ordering of rules. It has a trace package which makes it possible to build rule-learning strategies, and supports reason maintenance.

  FRulekit stands for Frame-Rulekit since working memory elements are frames, and matching against frames are supported. It uses the Parmenides frame system, so it is assumed that the reader is also

familiar with this frame program. See the Parmenides manual (available as

/afs/cs/user/pshell/parmenides/parmenides.ps) for documentation.

  It is assumed that the reader is familiar with production systems. Since FRulekit goes beyond OPS-5 in many ways, the OPS-5 syntax is not used. Knowing lisp, especially Common Lisp, is useful but not essential.

2. Working Memory Elements

  Working memory elements (WMEs) look vaguely like the OPS-5 vector representation. WMEs are an instance of one and only one class, and each class has a set of attributes, or slots. Classes and their slots are defined by literalize. This is where the similarity ends however. Literalize defines classes through the Parmenides def-frame function (see below), so that all WME classes are subclasses of the predefined WME class. This implies that slots may have facets, which are like slots of a slot and which have associated data (fillers); or slots may simply be directly associated with fillers. Fillers may be any CommonLisp type. This also implies that demons may be associated with WME slots and classes.

The syntax of a WME is:

[<class> <slot> <value> <slot> <value> ...]

Slot names are preceded by colons. For example, if goal was a class which had the slots name, parent and action, then the following would be a legal WME:

[goal :name get-cookie :parent get-food :action look-for-cookie]

  WMEs are implemented as Parmenides frames, and should only be made or altered by a Rulekit command (such as $make or $modify), or the Parmenides set-facet-demons command (note that if a class which is a WME is modified through set-facet or setf, Rulekit will not see the change and the production system may become inconsistent). Working Memory is simply a set of Working Memory Elements, and is usually thought of as a declarative representation of knowledge.

  FRulekit uses a freelist in order to more efficiently manage memory. Whenever a WME or frame is removed, it is put on the freelist, and when a new WME or frame is needed, if there is one of the appropriate type already on the freelist, then that one is recycled. The functions $remove and $remove-keep, described below, release WMEs to the freelist when *RECORD-LEVEL* is 0, which means that you shouldn’t expect to be able to use the WME after calling them.

1The original Rete pattern matching algorithm and data structure was developed by Charles Forgy at CMU around 1975.


RULEKIT MANUAL PAGE 2

3. The Left Hand Side of a Rule

  The left-hand-side (LHS) is a list of tests, or Condition Elements, which test something about the state of working memory elements. If all of the tests are true, then the rule matches and is a candidate for firing (see Conflict Resolution, below). There are two basic kinds of operations allowed on the LHS of a rule: testing operations and binding operations. In each LHS command, either something is bound to a FRulekit variable, or something about a FRulekit variable or WME is tested.

3.1. Matching Against Working Memory

  Working Memory tests check to see if there are any WMEs in Working Memory which match a certain pattern, or Condition Element (abbreviated CE). Constants in the value field of LHS patterns do not need to be quoted, although constants in lisp CHECKS and BINDS (see below) do (unless of course if the lisp function in the CHECK doesn’t evaluate its arguments).

  Patterns have the same form as WME’s, with the following extensions. First, in addition to having constants in the value field, variables may also be used. Variables are of the form =<varname>; for example, =x. 2The first time a variable occurs in the LHS, it is bound to the given slot. The next time it occurs in the LHS, it means that the indicated slot must have the same value as the first slot did. For example, the following LHS checks to see if any two goals have the same action:

((goal :name =n1 :action =a)

(goal :name =n2 :action =a))

This LHS would match every pair of goals whose actions were the same.

  FRulekit will construct different tests and access functions in the LHS depending on whether a slot has facets. The default facet accessed in left hand side tests is value for slots with facets.

3.2. The ABSence test

Another extension is that one may check for the absence of WMEs from working memory. This is done

by putting the symbol <ABS> before the pattern. Example:

(<ABS> (goal :name find-cookie))

These are also referred to as negation tests. The degree of sophistication of absence tests varies from prod. system to prod. system, so the exact capabilities of the current FRulekit absence tests will be described:

* In Rulekit, arbitrary lisp checks are allowed within absence tests.

* The label command inside the absence test refers to the WME being tested and, like all variables bound inside absence tests, only has the scope of the absence test.

* Nested absence testing is not allowed (i.e., an absence test within an absence test).

* Currently, only one condition element may appear in each absence test (any number of absence tests are allowed in a LHS however).

* Absence tests of nested CE’s is not allowed since nested CE’s are expanded into multiple CE’s by the FRulekit parser (see nested CE’s, below).

  2Note: because of the special syntax of the ’=’ character, be sure to quote it with #\ if you use it somewhere other than in a Rulekit variable.


RULEKIT MANUAL PAGE 3

3.3. The <OR> test

  In addition to testing for the absence of a pattern, one may test for the disjunction of a set of patterns. The semantics of the <OR> command is that if any one of the given set of Condition Elements is satisfied, then the <OR> clause is satisfied. Further, while an instantiation containing one disjunct is in the conflict set, FRulekit will not attempt to match other disjuncts of the same rule, thus gaining efficiency. The syntax of the <OR> command is:

(<OR> (<list-of-CE’s>)

(<list-of-CE’s>) ...)

  Each <list-of-CE’s> is a list of one or more (possible <ABS>) CE’s. Each disjunct may be thought of as a seperate production, in that the variables in the disjuncts cannot be referenced by other disjuncts.

  Notice the difference between the <OR> statement, which allows what we call external disjunction, and internal disjunction. External disjunction allows one to find a WME which meets one of a number of WME specifications (CE’s); internal disjunction, which is performed in FRulekit by a lisp or inside of a CHECK, allows a slot to take a number of different values, but the rest of the specification of the WME is the same.

  The following limitations currently apply to the <OR> command; some will be lifted as we find efficient ways to ease them:

* Nested <OR>’s are not allowed.

* Each disjunct must contain the same number of positive CE’s; they may contain any number of <ABS> CE’s however. For example the following is not allowed because the first disjunct has 1 positive CE and the second has none:

:LHS ((...)

(<OR> ((boy :age 2))

((<ABS> (girl :age 1)))))

* The first CE in a LHS cannot be an <OR>.

* Multiple <OR> statements are allowed, but subject to the following restriction: they may not occur directly after each other. I.e., there must be a non-<OR> CE between two <OR> statements.

Example:

(RULE find-boy-or-girl

:LHS

((person :age =a)

(<OR> ((boy :wt =w1 (LABEL =bg)))

((girl :wt 4 (LABEL =bg))))

)

:RHS (

(if ($disj 1) (format T "First disjunct is true~%")

(format T "Second disjunct is true~%"))

(format T "Found a boy/girl: ")

(pp-wme =bg)))

  The $disj function is explained in section, General Commands; see also $disj-nums in the same section.

3.4. Lisp Tests

  Sometimes it is useful to call LISP directly from the LHS to make additional checks on the variables. A lisp CHECK is allowed to appear anywhere in a condition element where a slot would appear. The syntax is:


RULEKIT MANUAL PAGE 4

(CHECK <expression>).

<expression> is any lisp expression and should include Rulekit variables bound up to that point. For example, in the above test for two goals with the same action, there is nothing saying that the two goals can’t be the same. If we want to eliminate this possibility, we could add the following CHECK:

(CHECK (not (equal =n1 =n2)))

this could also be written:

(CHECK (<> =n1 =n2))

to make it more reminiscent of the OPS-5 syntax. The user is free to call any lisp function, including user-defined functions. Lisp checks should always occur after the Working Memory tests which contain the variables that they mention. In this example the (<> =n1 =n2) should occur after the bindings of n1 and n2 have been established by the two working memory element tests. Thus, the entire LHS would be:

((goal :name =n1 :action =a)

(goal :name =n2 :action =a (CHECK (<> =n1 =n2))))

Lisp checks may also be combined with <ABS> tests, and may call macros as well.

  Extreme care must be taken with LHS LISP checks. They should have no side-effects, because it isn’t obvious when they will be evaluated. If a lisp condition doesn’t check anything about the working memory elements, but rather tests a user data structure, it is not guaranteed to always work. This is because the lisp checks are put into the internal Rulekit Rete net, and so are not tested until the working memory element that they are associated with changes. If a LISP test that doesn’t refer to anything in working memory is desired, then the second kind of lisp test, the EXTRA-TEST, should be used.

3.5. The BIND commands

  When specifying slots in a LHS pattern, Rulekit variables are implicitly bound to the value of the slot accessed. However, the user may bind variables to other values, through the BIND and MBIND LHS commands. The syntax is:

(BIND <variable> <expression>)

or:

(MBIND (<variable>*) <expression>),

where <expression> is the same as in the CHECK command, and each <variable> is a Rulekit variable which hasn’t yet been bound to anything. In the case of MBIND, the given <expression> should return at least as many multiple values as there are variables in the variable list.

  For example, if for some reason it is desired to bind the names of the two goals matched in the previous example to a Rulekit variable, then a BIND command could be added:

((goal :name =n1 :action =a)

(goal :name =n2 :action =a (CHECK (<> =n1 =n2))

(BIND =both (list =n1 =n2))))

  This would result in the Rulekit variable =both being bound to the list containing the values of =n1 and =n2. This variable may subsequently be used just like other Rulekit variables, on both the LHS and RHS. The BIND commands are particularly useful when the <expression> is an expensive one. Rulekit usually only executes the expression once and stores the result for all subsequent accesses. Due to efficiency issues in the current implementation however, expressions in a BIND command will be re-evaluated if the BIND command occurs in the first condition element, or in an absence test. Up to 16 BIND variables are allowed per production.


RULEKIT MANUAL PAGE 5

3.6. Specifying Slots

  In traditional OPS-style production systems, the slot to be matched against has to be specified by a constant symbol at rule-writing time. In FRulekit, a special slot-specification operator, called the bracketed syntax, allows the user to refer to slots not only by name, but also by an expression which is dependent on other variables in the LHS. Thus, names of slots may be computed by Lisp functions and/or by storing them as the values of slots in other WMEs. It also allows rules to access facets of slots besides the default value facet.

The full bracketed syntax is:

[<slot-expression> {<facet-expression>}].

<slot-expression> and <facet-expression> are the same as in CHECK and BIND, or may be constant slot or facet names. <facet-expression> is optional and defaults to :value if the slot is known to be faceted. If the slot specification is dynamic and the facet is not specified, then FRulekit will at run time retrieve either the slot or the value facet of the slot, depending on whether the slot is faceted.

  The dynamic slot specification occurs in the left hand side where an ordinary (static) slot specification would occur. As with ordinary slot specifications, if the expression in the value position is either a constant or a previously-bound FRulekit variable, then a check will be made that the value of the given slot is equal to the given value; otherwise a BIND command will be generated to bind the given FRulekit variable to the value of the specified slot. If the computed slot doesn’t appear in the frame, then the associated condition element won’t match.

  For example, the following two condition elements cause FRulekit to find the value of a slot named in the cur-slot field (assuming that the proper literalizes had been made):

((goal :name print-slot :cur-slot =slotname)

(data [=slotname] =slotvalue))

  Thus, if the value of the cur-slot slot was a, then =slotvalue would be bound to the value of the a slot in a data frame. If the variable slotvalue was previously bound in the production, then the second condition element shown here would not match unless the value of the a slot was equal to the previous value of slotvalue.

  The bracketed slot syntax need not always dynamically specify slots and facets. For example, if the a slot had a facet named time, then to refer to this facet statically, bracketed syntax would be needed:

((goal :name print-slot :cur-slot a)

(data [:a :time] =slotvalue))

  Thus, the bracket syntax is used whenever dynamic specification of slots is needed, or when access to facets is needed. Dynamic slot access is powerful, but slower than static slot access, since FRulekit is forced to use a slower Parmenides function (get-instance-facet or get-instance-slot) in order to retrieve the correct value.

3.7. Labeling Condition Elements

  Condition elements may be labeled (i.e., bound to a Rulekit variable) by using another special command, the LABEL command, within the condition element. For example, to label the first test above as cond1, one could write:

(goal (LABEL =cond1) :name =n1 :action =a)

The LABEL command may be placed anywhere after the class specification. Variables bound to condition elements are just like variables bound to slot values; thus the two major uses of labeling are:


RULEKIT MANUAL PAGE 6

* Removing and modifying WMEs. To remove or modify a WME on the RHS, it must be referred to. Label the condition element corresponding to the WME to do this. See the section on Right Hand Side Actions for more details.

* Nested working memory elements. Since slots may take any value, they can even take on another WME as a value! They may also be matched against in the LHS. This will be explained next.

3.8. Nested WMEs

  In order to assign a WME to a slot of another WME, both the parent and the nested WME must be bound to a Rulekit variable (usually through the LABEL LHS command.) Then, the appropriate Right-hand-side action is executed which connects the two WMEs. Again, see the section on Right Hand Side Actions for more details.

  To specify on the LHS that the value of a slot be a certain WME, simply write the condition element matching that type of WME in the value position of the outer condition element. To match against a woman who likes a girl who likes a dog, for example, one would write:

(woman :likes (girl :likes dog))

  Nested WME matching automatically LABELS the nested WME with the same name as the class of the WME (or a unique label name if there is already a label with that name in the rule), unless there is a label statement in the nested CE. For example, the above CE would be the same as writing,

(woman :likes =girl)

(girl (LABEL =girl) :likes dog)

Thus, it binds the variable girl to the WME that is nested in the woman WME. If the original CE had been,

(woman :likes (girl (LABEL =g1) :likes dog))

then it would be equivalent to writing,

(woman :likes =g1) (girl (LABEL =g1) :likes dog)

  Note that since nested WME matching involves matching more than one WME, it can not be put in an absence test. See Appendix III for examples of creating and matching nested WMEs.

3.9. The =! Syntax

The =! operator is like =x except it matches any frame which isa-instance of x in the Parmenides

semantic net, and binds that frame to =x. For example, =!person in a slot description means:

=person (CHECK (isa-instance =person ’person))

isa-instance is a Parmenides function which returns T iff the first argument is an instance of the second argument (or one of its subclasses in the is-a hierarchy).

  =!x may also be used in the class description (i.e., where the class name usually goes in a condition element). When it appears there, it means to match against the class X, or any class under X in the is-a hierarchy. For example, if boy is-a person, then the test:

(=!person ...)

would match boys as well as people. Note that this can be used to match any wme, by simply saying, =!WME. However, it is inefficient since it forces FRulekit to test each WME whenever it is created or removed. =! in the class description position doesn’t bind any variables. The =! syntax may also be used in nested Ce’s.


RULEKIT MANUAL PAGE 7

3.10. The =< Syntax

=< is similar to =! except it uses isa-or-instance instead of isa-instance. Thus it is useful when the

value of a slot is either a class or an instance. It has no meaning when in the class description position.

  Reader-macro note: the =x syntax is implemented by a read macro which converts =x to (frk::var x), =!x gets read as (frk::any x), and =<x gets read as (frk::anysub x).

4. Extra Lisp Test

  The Extra Lisp Test is so called because it tests about something in addition to working memory. The Extra Lisp Test makes tests about data structures independent of the Working Memory, and can’t refer to LHS variables. Also, whereas Lisp Checks are only evaluated when the associated WME is put into working memory, Extra Lisp Tests are evaluated every time the rule is considered in the Agenda. (As an efficiency measure, Extra Tests are actually not evaluated until it is also found that the rule is in the conflict set.) Since Extra Lisp Tests are only evaluated when they are up for consideration in the Agenda, it doesn’t make sense to have Extra Lisp Tests when the Conflict Resolution Strategy is not AGENDA.

  Extra Lisp Tests go under the :EXTRA-TEST slot of rules. Since extra-lisp-tests must be evaluated on every cycle when the associated rule is being considered by the Agenda module, they are not very efficient and so should be used sparingly.

5. Right Hand Side Actions

  When a rule fires, it executes its right-hand-side (RHS) actions with the variable bindings being given by the WMEs that it matched. The RHS is essentially a progn, i.e., a list of forms to be evaluated by LISP. Any lisp function may be called in the RHS, but the most important ones to call are:

5.1. $MAKE

  This is the main way to make a new working memory element. Its syntax is: ($MAKE <pattern>), where all the variables mentioned in the pattern have been bound by the LHS of the production. It evaluates all of its arguments, so be sure to quote atoms. For example, to make a subgoal of the goal find-cookie, one would write:

($make ’goal :name ’find-cookie-jar :parent ’find-cookie)

For an example with variables, suppose we wanted to note the fact that there were two goals with the same action by making a new goal with the name same-action. If the LHS of our production was the goal tests above, then the RHS could be:

($make ’goal :name ’same-action :action =a)

  Note that if the name slot of the goal WME had facets, then the above $make would be: ($make ’goal :name ’(value same-action) :action (list ’value =a))

5.2. $REMOVE

  Remove deletes the given WMEs from Working Memory, and if any production had previously matched but doesn’t without the WME, then it will take that production out of the set of candidates (the conflict set). Remove usually takes the labels of the WMEs that matched in the LHS of the rule. WME labels are established by the label tag in condition elements. For example, to delete the two goals which had the same action in the above LHS, you could rewrite the condition elements to label them as =c1 and =c2:

((goal :name =n1 :action =a (LABEL =c1))


RULEKIT MANUAL PAGE 8

(goal :name =n2 :action =a (LABEL =c2) (CHECK (<> =n1 =n2))))

  Next $remove would refer to labels =c1 and =c2:

($remove =c1 =c2)

  $Remove also tells Parmenides to delete the frame representing the WME. See also $remove-keep, in the Command Summary, which doesn’t delete the frame.

5.3. $MODIFY

  This is actually a combination of $REMOVE and $MAKE. The syntax is ($MODIFY <wme-label> slots>), where <wme-label> is the same as it is in $REMOVE, and <slots> are those used in the <pattern> of $MAKE. For example, to change the action field of a goal, one would write,

($MODIFY =c1 :action ’drink)

The fields not specified in the $MODIFY are left unchanged. Doesn’t fire any demons associated with the frame; $modify-demons, in the Command Summary, does this. See also $modify-in-place in the Command Summary.

6. Conflict Resolution

  On any given cycle, there may be more than one candidate productions for firing. For example, if there were two pairs of goals which had the same action, then there would be two possible firings of that production: one for each of the pairs. (These different firings of the same production are called instantiations.) Before any production is fired, all candidates are put into a set called the conflict set. Conflict resolution is a procedure for choosing from the conflict set which instantiation(s) should fire.

  Rulekit currently provides three conflict resolution strategies, the OPS LEX and MEA methods, and a new one called FULL-CR. The Agenda mechanism may be thought of as a conflict resolution strategy but is given its own section because it’s not implemented that way. FRulekit also allows the user to tailor the conflict resolution strategies at various levels of detail.

6.1. LEX

  A brief summary of the OPS5 LEX strategy is presented here. For more detail see the OPS5 User’s Manual by Lanny Forgy. The FRulekit version of LEX has an added step, step 4, as well as a fix to include the intra-element tests in step 3.

1. Refract by deleting instantiations that have already fired.

2. Narrow-down-lex: Select the production whose condition elements are most recent.

3. Num-tests: In the case of a tie, select the production whose LHS conditions have the greatest number of tests. A test here is defined is a test to see if the value of a slot is some constant, or to see if a variable is consistently bound (including intra-element tests and label tests).

4. Num-checks: In the case of a tie, select the production whose conditions have the greatest number of variables involved in lisp checks.

5. If there is still a tie, choose one arbitrarily.


RULEKIT MANUAL PAGE 9

6.2. MEA

MEA, or means-ends analysis, is the same as LEX, with the narrow-down-mea step added after

refraction:

  Narrow-down-mea: Compare the recencies of the working-memory elements matching the first condition elements of the instantiation. The instantiations using the most recent WMEs dominate.

6.3. FULL-CR

  FULL-CR is the same as MEA, with the following additional steps at the end: Narrow-down-wme-class and Narrown-down-test-class. The first compares hierarchical positions of the the classes of the matched WMEs. A WME whose class is is-a another, is more specific than that one. For example, the dog class is more specific than the mammal class. The second compares hierarchical positions of the the classes of the rules’ tests.

6.4. User-defined C.R. Strategies

  There are many ways to tailor the conflict-resolution behavior of FRulekit, depending on what level of control is desired. The usual way is to set the global switch *CR-STRATEGY* to one of the pre-defined lisp variables, *MEA*, *LEX* or *FULL-CR*.

  These three lisp variables are bound to an ordered list of filters which are names of functions which act on successive lists of instantiations. For example, *LEX* is bound to: (NARROW-DOWN-LEX NUM-TESTS NUM-CHECKS), which correspond to the 2nd through 5th process in section 6.1 (refraction is controlled by the flag *REFRACT* which is by default on). The FRulekit conflict-resolver calls the first filter on the entire conflict set, and calls each of the remaining ones on the result of the previous filter. It stops when there is only one remaining candidate. If there are no more filters left and there is more than one instantiation, then it arbitrarily chooses one of the candidates. In order to change the order of these filters, simply set *CR-STRATEGY* to a different permutation of them. Alternatively, you can write your own filter and put the name of it in the filter list.

  The usual way to define one’s own filter is through the two filtering-defining macros, which is how all of the current FRulekit filters are defined. The first one, Def-cr-strategy, defines filters which compare only one attribute of the instantiations. Narrow-down-mea, num-tests and num-checks are defined with this filter, since the number of tests, checks and recency of the first matched WME is only one attribute. Def-complex-cr-strategy defines filters which iterate through the list of matched WMEs in the instantiations, comparing them. Narrow-down-lex and narrow-down-wme-class are defined with this macro, since they need to compare all of the WMEs in the instantiations.

  The method that the complex filter functions compare instantiations is as follows: First, initialize the list of candidates to the entire conflict-set. Iterate through the list of WMEs in each instantiation. On each iteration, reduce the candidate list to the instantiations whose WMEs are ranked highest by the comparer function. If the candidate set is reduced to one instantiation, then return that instantiation, else continue. When there are no more WMEs to compare, return the remaining candidates.

  See the command description section for details of how to use Def-cr-strategy and Def-complex-cr-strategy. Set the switch *TRACE-CR* to T in order to trace the action of the conflict resolver.


RULEKIT MANUAL PAGE 10

7. Agenda

  Agendas are, in their simplest form, ordered and dynamically alterable lists of tasks to perform. Rulekit Agendas are currently nested two deep, which means that the lists of tasks are themselves put into an ordered list. This top-level list is called the Agenda, and the list of rules is called a bucket. A bucket may be thought of as a task, a context, or a goal. The order of the rules in a bucket and the order of buckets in an agenda are changed by the rules themselves. This change is done by a rule adding or deleting another rule or bucket. The Agenda is started with the r-agenda or cont-agenda command (see the Command Summary).

  One advantage of Rulekit over OPS-5 is the integration of Agendas with OPS. There are many ways that one can combine agendas and an OPS type rule base, but the one we will use gives the Agenda the top-level control so that OPS is called from the Agenda. Thus, the Agenda system can be thought of as an alternative to the OPS recognize-act cycle. It is more like an iterate-act-recognize cycle. The rules and buckets in the agenda will be iterated over as they were before, but now the test to see if they should fire will not be only a lisp test in the rule field, but also whether the rule is in the conflict set. When it is found that a rule is in the conflict set, it will be fired (i.e., the instantiation of its RHS evaluated). To resolve the conflict of there being more than one possible instantiation of the same rule, the list of filters in *CR-STRATEGY* will be successively applied to the conflict set.

  Note that since the Agenda system calls OPS as a subroutine when firing a rule, when OPS returns, the Agenda might still be in the same bucket as it was before, depending on the bucket and agenda control strategies. Because of the actions of the last rule, OPS may cause a rule to match which is in a higher-priority bucket than the current one. It won’t fire even though it probably should. Agenda control strategy :priority should be used if the user wants to be guaranteed that the highest-priority rule in the highest-priority bucket always fires when it should. We will now go into more detail about the Agenda and Bucket strategies.

7.1. Bucket Control Strategies

Common to all bucket traversal strategies is the fact that whenever a rule returns :halt, execution of

3

the bucket stops.

* :linear

This is the simplest of the bucket strategies. The list of rules in the bucket is simply iterated over once. Each rule is tested and fired if the test is true. Execution is halted when the end of the bucket is reached (i.e., there is no cycling).

* :cyclic

This is a multi-pass linear control strategy. The list of rules in the bucket is iterated over. Each rule is tested and fired if the test is true. When the end of the bucket is reached, Rulekit checks to see if any rule in the bucket has fired. If so, execution is restarted at the beginning of the bucket. If not, execution is halted.

* :priority

This is the priority cycle strategy. The list of rules is iterated over until a rule fires. At this point, control returns to the beginning of the bucket. When the end of the bucket is reached and no rule in the bucket has fired, execution is halted.

3note: ’halt is not the same as :halt!


RULEKIT MANUAL PAGE 11

7.2. Agenda Control Strategies

Since an agenda is essentially a bucket of buckets, the possible control strategies for agendas are

more complex. Rulekit provides four of the most useful control strategies.

  Just as there is a special control flag in the bucket control strategies, there are special control flags in the agenda control which override any agenda control strategy.

* When a rule returns :halt, execution of the agenda stops.

* When a rule returns :bucket-halt, execution of the bucket stops and control moves on to the next bucket.

* When a rule returns :recycle, control goes to the top of the agenda (which is the first rule in the first bucket).

The available agenda control strategies are as follows:

* :linear

FRulekit simply traverses each bucket in a linear manner. When the end of one bucket is reached, it goes to the next bucket. Execution stops when the end of the last bucket is reached.

* :bucket

Upon firing any rule, control goes back to the first rule in the current bucket. When the end of

a bucket is reached, control proceeds with the next bucket.

* :bucket-priority

Control returns to the beginning of the current bucket whenever a rule fires. When the end of a bucket is reached, FRulekit checks to see if any rule in the bucket has fired. If so, control is passed to the top of the agenda. Otherwise, execution continues with the next bucket.

* :linear-cycle

Linear with respect to the agenda but cyclic inside the buckets. FRulekit iterates through the buckets one after the other. At the end of a bucket, if any rule had fired in that bucket, then control is returned to the beginning of that bucket again. Otherwise, the next bucket is chosen.

* :priority

Control returns to the top of the agenda whenever any rule fires.

8. Trace Package

  The important trace flag is *RECORD-LEVEL*, which determines whether Rulekit should be tracing itself while it runs. Since tracing slows down the system slightly, it is by default set to 1 (only enough tracing for the back function), but is set to 2 when the trace package (trace.slisp) is loaded. RE-INIT-TRACE may be called to re-initialize.

8.1. Purpose

  There are two different uses for the trace module. The first is that the trace functions described here can be used as tools for learning and analogy algorithms. The knowledge compilation techniques composition and proceduralization, as well as goal-subsumption, analogy and generalization, will be possible using this package and Rulekit. The second use of a trace package is for user debugging. Many of the trace functions that are used for learning are also useful for debugging productions. While the main goal of this package is to provide tools for implementors of learning algorithms, some of the trace functions will be used for writing debugging functions.


RULEKIT MANUAL PAGE 12

8.2. Data Types

WME. Working Memory Element.

Rulekit provides three useful predefined slots for WMEs:

* %time

Accessed by calling wme-%time, this stores the time tag of when the WME was created.

* %created

Accessed by wme-%created, this stores a pointer to the instantiation of the production which

created the WME (see instantiations, below).

* %class

Accessed by wme-%class, this is a symbol which is the name of the class of the WME.

Other slots, defined by literalize, are accessed in a similar way.

  ?WME. A negated or positive Working Memory Element. A negated WME can mean the absence of a WME in some contexts, or the deletion of a WME from WM in others, depending on what function is being applied to it. A ?WME is a potted-pair whose car is either ABS or POS, and whose cdr is a WME data structure.

  WMES. Plural Working Memory Elements. These are just lists of WMEs. Note: this is the convention for all pluralized data types.

  PATTERN. These are like WMEs except they are lists and may contain variables instead of constants in their value field. Variables are preceded by an ’=’ sign.

Example: (polygon :name =x :size-of 3 :perimeter-of =y)

Note: this is only what patterns look like in the source production system file. The ’=’ sign is actually a read macro which, when seen by the production reader, expands into (var x). Thus, a trace function which returns a PATTERN would actually return (polygon :size-of 3 :perimeter-of (var x))

  CONDE. Condition Element, LHS pattern. They may additionally contain negation tests, which would be of the form (ABS <PATTERN>)

WM. Working Memory, a set of WMEs.

  Production Instantiation. These are productions which have matched. Thus all of their variables (except ones which only appear in <ABS> tests) are instantiated with values. The access functions for instantiations are:

* var-names-of <instant>

returns: list of variable names <instant> is an instantiation. This returns the names of the

variables in the instantiation.

* var-in-instant <varname> <instant>

Returns the value of <varname> in instantiation <instant>.

* instant-wmes-of <instant>

Returns a list of WMEs which matched the given instantiation, in the order of the

corresponding condition elements of the production.

* prod-of <instant>

Production from which the instantiation came. The production is also a Parmenides frame.

Access functions for the various fields of the production are described next.

* give-additions-on-cycle <N>

Returns a list of the WMEs which were made on cycle N.


RULEKIT MANUAL PAGE 13

* give-deletions-on-cycle <N>

Returns a list of the WMEs which were removed on cycle N.

  Productions. The access functions for productions are formed by concatenating the symbol rk-rule- to the slot name. For example, the function rk-rule-lhs returns the lhs of a production. The useful slots are:

* LHS

The Left Hand Side, an ordered list of condition elements.

* RHS

The Right Hand Side, an ordered list of actions.

* PNAME

The name of the production.

Other slots are described in the command summary under the RULE section.

8.3. Tracing Productions

8.3.1. give-matches <?WME>

  returns: <production-matches> Give the production instantiations which were ever placed in the conflict set (they could have since been removed from the c.s.) because the ?WME directly helped it’s conditions to match. This is different from the first function because with the first function, the production doesn’t have to be completely matched and so only the production, and not the instantiation, can be returned.

8.3.2. give-firings <?WME>

  returns: <production-firings> Returns all productions which fired as a result of ?WME being added to WM. [Note that a negative WME here would mean a WME being deleted from WM.] A subset of give-matches since not all of the matches will have necessarily fired.

8.3.3. give-next-matches <?WME>

  returns: <production-matches> Give the production instantiations which were placed in the conflict set on the next cycle after the given WME was. Note that ?WME may not have been responsible for the instantiation, since more than one instaniation may be created on each cycle.

8.3.4. give-next-firings <?WME>

returns: <production-firings> Returns all production which fired on the next cycle after ?WME was

added to/deleted from WM. A subset of both give-firings and give-next-matches.

8.3.5. give-matches-on-cycle N

returns: <production-matches> Return all the matches on cycle N.

8.3.6. give-firings-on-cycle N

returns: <production-firings> Return all the firings on cycle N. This will be a singleton list for conflict

resolution strategies which don’t allow parallelism.

8.3.7. give-named-matches <pname> N

returns: <production-matches> Returns a list of the instantiations of production <pname> which fired

on cycle N.


RULEKIT MANUAL PAGE 14

8.3.8. give-named-firings <pname> N

returns: <production-firings> Returns a list of the firings of production <pname> which fired on cycle

N.

8.3.9. lhs-of <pname>

returns: CONDs Return the lhs condition patterns given a production name.

8.3.10. rhs-of <pname>

returns: PATTERNs Return the rhs patterns given a production name.

8.4. WME Creation

8.4.1. prod-responsible-for <?WME>

returns: <production-firing> Give the production firing which last added ?WME to WM if ?WME is

positive, and give the production firing which last deleted ?WME from WM if ?WME is negative.

8.4.2. possible-prods-responsible-for <?WME>

returns: <production-matches> not implemented. Give the production matches which could possibly

add/delete ?WME to/from WM.

8.4.3. in-wmp <CONDE>

  returns: List of WMEs Return a list of WMEs in WM that match the given pattern. If CONDE is an absence test, then it returns all WMEs that don’t match the pattern. Ignores variables; thus intra-condition-element testing won’t work.

8.4.4. give-negs <production-firing>

  returns: <PATTERNS> Note: not implemented. Give the most specific negation tests (i.e., if a negation test has a variable in it, give the negation test with the variable replaced by it’s instantiation for rule firing).

8.5. Tracing Goals

  At the moment there is no single representation of goal trees in Rulekit. However, the following functions are useful for tracing changes of goals’ states, regardless of representation. Note that the goal trace data structure is independent of the OPS trace data structures. The goal trace is stored in the string, *TRACE-TREE*.

* trace-pop-success <goalname>

Records a successful termination of a goal by writing into the goal trace data structure.

* trace-pop-failure <goalname>

Records an un-successful termination of a goal by writing into the goal trace data structure.

* trace-interrupt

Records that an interrupt from a goal tree has occurred.

* trace-push-goal <parent-name> <subgoal-name>

Records that a subgoal under parent-name has been activated.

* record-action <action>

Inserts given generic action into the goal trace tree.


RULEKIT MANUAL PAGE 15

9. Command Summary

This section is divided into three parts: the OPS-style commands, the Agenda commands, and the

commands which can’t fit into one of the first two categories.

9.1. General Commands

9.1.1. RULE

syntax: (RULE <rulename> . (<rule-slot> <contents>)*)

Defines a rule. Neither the rulename nor slot contents are evaluated. Possible slots are the standard OPS slots LHS and RHS, as well as the Agenda slots EXTRA-TEST, ADD, DEL, BUCKET-ADD, BUCKET-DEL and KTEST:

* :LHS

Defines the Left Hand Side part of the rule. The LHS is a list of working-memory tests, which

are themselves lists.

* :RHS

Defines the Right Hand Side part of the rule. The RHS is a list of actions, which are simply lisp expressions to be evaluated. In the Agenda system, we sometimes refer to a rule action "returning" a value. The returned value is defined to be the value that the last expression returns. In addition, the OPS module itself returns a value. The top level OPS commands, such as start and run, return what the last rule returned.

* :BELIEFS

Similar in syntax and meaning to the RHS. However, the :BELIEFS slot has the additional meaning that if the rule un-matches after it has fired, then the actions taken in this slot will be un-done. Thus, this provides a rudimentary reason-maintenance system. See also the function def-inverse-action, which tells FRulekit how to take back user-defined functions.

Important: to avoid infinite loops, don’t remove a WME in the :BELIEFS slot which was matched on in the :LHS! This is equivalent to believing that if A, then not A. If you want to remove a WME which was matched on the :LHS, then do this on the :RHS. Thus, the :RHS can be thought of a set of side-effects since they are not un-done when the :LHS is no longer true.

* :EXTRA-TEST

This and the remaining slots are only applicable when the AGENDA strategy is used. :EXTRA-TEST contains a lisp expression which must be true before the rule can fire. The lisp expression must not refer to any LHS variables; for this kind of test use lisp checks in the LHS. Use the :EXTRA-TEST as little as possible, for it is less efficient than working memory tests and defeats the purpose of the rete algorithm.

* :ADD

If the rule fires, the add field tells Agenda to add the given set of rules to the designated bucket at the specified position in the bucket. The buckets, positions and rules are specified as:

((<bucket-spec-1> <bucket-position-1> . rule-names-1) (<bucket-spec-2> <bucket-position-2> . rule-names-2) ..)

The notation for <bucket-spec> and <bucket-position> are described in Appendix IV. rule-names is simply a list of rule names.

* :DEL

If the rule fires, the del field specifies what rules to delete from what buckets:

((<bucket-spec-1> . rule-names-1)

(<bucket-spec-2> . rule-names-2) ...)


RULEKIT MANUAL PAGE 16

* :KTEST

If the rule test is not true, then the ktest is checked. If the ktest is true, then the rule will delete itself from the current bucket. Ktest is essentially a suicide test for rules that have out-lived their usefulness.

* :BUCKET-ADD

If the rule fires, then the bucket-add field specifies what buckets to add to the agenda:

((bucket-name-1 <bucket-spec-1>)

(bucket-name-2 <bucket-spec-2>) ...)

Example: ((bucket-1 :*next) (bucket-3 bucket-1))

The buckets are added after the given agenda positions. The notation for <bucket-spec> is also located in Appendix IV.

* :BUCKET-DEL

If the rule fires, then the bucket-del field specifies what buckets to delete from the agenda:

(bucket-name-1 bucket-name-2 ...)

example:

(RULE find-redundant-actions

:LHS ((goal :name =n1 :action =a (LABEL =c1))

(goal :name =n2 :action =a (CHECK (<> =n1 =n2)) (LABEL =c2)))

:RHS (($remove =c1 =c2)

($make ’goal :name ’redundant-action :action =a))

(princ "Found redundant rules with action: ") (princ =a) (terpri)))

9.1.2. RULE*

syntax: (RULE* <rulename> <lhs> <rhs>)

This is the non-macro form of RULE. It evaluates all of its arguments. <lhs> and <rhs> are lists of condition elements and action elements, respectively.

9.1.3. BUILD-RULE

syntax: (BUILD-RULE <rulename> . (<rule-slot> <contents>) *)

  With the same syntax as RULE, BUILD-RULE does the same thing RULE does except it also works when there is already something in working memory. This is because it "pushes" the appropriate working-memory elements through the tests corresponding to the new conditions in the rule. Most efficient for rules which don’t test classes which haven’t been tested by other rules.

9.1.4. BUILD-RULE*

syntax: (BUILD-RULE* <rulename> <lhs> <rhs>)

This is the non-macro form of BUILD-RULE. It has the same syntax as RULE* and also evaluates all of its arguments. <lhs> and <rhs> are lists of condition elements and action elements, respectively.

9.1.5. PP-RULE

syntax: (pp-rule <rulename>)

Pretty-prints a production. Note: this used to be called pp.


RULEKIT MANUAL PAGE 17

9.1.6. PP-WME

syntax: (pp-wme <wme> &optional <stream>)

Pretty-prints a working memory element. <stream> defaults to the standard output (e.g., the terminal) for all printing functions. Writes all slots.

9.1.7. PP-WMES

syntax: (pp-wmes <list-of-wmes> &optional <stream>)

example: (pp-wmes (list <wme1> <wme2>))

Pretty-prints a list of working memory elements. <stream> defaults to the standard output (e.g., the terminal) for all printing functions. Writes all slots.

9.1.8. PP-WM

syntax: (pp-wm &optional <class> <stream>)

Pretty-prints working memory. If <class> is supplied, then it prints only those working memory elements belonging to <class>.

9.1.9. PP-ITH-WME

syntax: (pp-ith-wme <I> &optional <class> <stream>)

Pretty-prints a selected WME. If <class> is provided then the I WME of the given class is printed,

th

otherwise the I WME is printed. The WME numbers can be seen by setting the flag *NUMBER-WMES*

th

before using pp-wm or save-wm.

9.1.10. SAVE-WME

syntax: (save-wme <wme> &optional <stream> <all-slots>)

Like pp-wme, but prints <WME> in a form which FRulekit can read. <all-slots> has a default value of NIL, which means that only the slots which differ from the parent class are written. If it is true then all slots will be written.

9.1.11. SAVE-WM

syntax: (save-wm &optional <class> <stream>)

Like pp-wm, but prints the specified WME’s in a form which FRulekit can read.

9.1.12. SAVE-ITH-WME

syntax: (save-ith-wme <I> &optional <class> <stream>)

Saves a selected WME. If <class> is provided then the I WME of the given class is saved, otherwise

th

the I WME is saved. The WME numbers can be by setting the flag *NUMBER-WMES* before using

th

pp-wm or save-wm.

9.1.13. WM

syntax: (wm &optional <class>)

Like pp-wm, excepts returns the working memory elements specified in a list instead of printing them. If


RULEKIT MANUAL PAGE 18

<class> is supplied, then it returns only those working memory elements belonging to <class>. Use this sparingly, since it must cons up a new list every time it is called.

9.1.14. SET-WM

syntax: (set-wm {WME} *)

example: (set-wm (goal :name ’foo :action ’bar)

(goal :name ’biz :action ’bang))

Clears Working Memory then adds the given WMEs to Working Memory and possibly changes the conflict set. Similar to start except start additionally runs the recognize-act cycle. Useful for setting up working memory when the Agenda control structure is used.

9.1.15. ADD-TO-WM

syntax: (add-to-wm {WME} *)

Adds the given WMEs to Working Memory and possibly changes the conflict set. Different from $make in that $make takes patterns rather than straight WMEs. Thus $make is only used on the RHS of productions, whereas add-to-wm is usually used from the top-level. Similar to cont except cont additionally runs the recognize-act-cycle.

9.1.16. Pp-instant

syntax: (pp-instant <instantiation>)

example: (pp-instant (car *CONFLICT-SET*))

Pretty-prints the given rule instantiation. Shows the WME’s which matched the rule.

9.1.17. Def-cr-strategy

syntax: (def-cr-strategy <strategy-name> <extractor> <comparer>)

example:

(def-cr-strategy num-tests

(lambda (ins) (car (rk-rule-num-tests (instant-prod ins))))

>)

Defines a simple conflict-resolving filter (see the Conflict Resolution section). <strategy-name> is the name which will be given to the function which does the filtering. <extractor> should be a function name or lambda expression which returns some measure of an instantiation’s appropriateness for firing given the instantiation. <comparer> should be a function which, given two measures of instantiation appropriateness, returns non-NIL iff the first one is more appropriate than the second. In the num-tests example, the number of tests in the rule is the appropriateness rating, and the greater-than function, ">" is the comparer.

9.1.18. Def-complex-cr-strategy

syntax: (def-complex-cr-strategy <strategy-name> <extractor> <comparer>)

example: (def-complex-cr-strategy narrow-down-lex wme-%time >)

Defines a more complex conflict-resolving filter (see the Conflict Resolution section). The <extractor> should be the name of a function which, when given a WME in an instantiation, returns a measure of appropriateness for firing. <comparer> should be a function which, given two measures of WME appropriateness, returns non-NIL iff the first one is more appropriate than the second.


RULEKIT MANUAL PAGE 19

  Note that since FRulekit implements CR strategies by defining functions for each one, efficiency can be gained by compiling the Def-cr-strategy and Def-complex-cr-strategy statements.

9.1.19. Def-inverse-action

syntax: (def-inverse-action <action> <inverse-action>)

example: (def-inverse-action $remove-keep

#’(lambda (action instant)

(add-frame (var-in-instant (cadr action) instant))))

  Tells FRulekit how to take back an action performed in the :BELIEFS slot. When a rule no longer matches, if it had previously fired, then the actions performed in the :BELIEFS list will be taken back (but not the actions in the :RHS slot). When the inverse action is called, it is given two arguments: the text of the action, e.g., ’($remove-keep =frame)’, and the instantiation of the rule which no longer matches. This can be used to identify the specific WME’s and other data structures involved in the action.

9.1.20. PR-SWITCHES

syntax: (pr-switches)

Prints out the system switches, such as *TRACE-ADD*, etc. (See the next section.)

9.1.21. RE-INIT-TRACE

syntax: (re-init-trace)

  Re-initializes the trace package. The trace package is initialized automatically when it is loaded, but it may be useful to re-initialize it later.

9.1.22. $DISJ

syntax: ($disj <n> &optional <or-number>)

  This RHS predicate is only meaningful in rules which contain <OR> commands. Returns T if and only if the <n>th disjunct of the <or-number>th <OR> statement in the current instantiation is true. The first disjunct is numbered 1. If <or-number> is not supplied, then the first one is assumed.

9.1.23. $DISJ-NUMS

syntax: ($DISJ-NUMS)

  This RHS function is also only meaningful in rules which contain <OR> commands. It returns a list of the disjunct numbers of the disjuncts in the <OR> statements of the current instantiation. The first number in the list corresponds to the first <OR>; the second number to the second <OR>, etc. The first disjunct is numbered 1.

  Note the relationship between $disj and $disj-nums: ($disj <n> <ornum>) __ (= <n> (nth (1- <ornum>) ($disj-nums))), although using $disj when possible is more efficient. $disj-nums is useful inside a case statement, since otherwise one would have to call $disj repeatedly.


RULEKIT MANUAL PAGE 20

9.2. OPS style Commands

9.2.1. START

Syntax: (start {WME} *)

This top-level command clears working memory, puts the given WMEs into Working Memory then starts the FRulekit system on its way. Usually, a production is written to really start the system, and its left hand side checks for something like (goal :start yes) which is added with the START command. If the Agenda control structure is desired instead of the recognize-act cycle, use R-Agenda, below, and use ADD-TO-WM to set up working memory.

9.2.2. LITERALIZE

Syntax: (literalize <class> <cplist> <slots>)

Example: (literalize goal (:extendable nil)

:parent NIL

:action (value NIL)

:name NIL)

Defines a WME class by calling the Parmenides def-frame function, and automatically makes it is-a WME, which is a predefined class. The WME class is not propagatable, an attribute which will be inherited by all user-defined classes unless otherwise specified.

  Note that literalize is very similar to the Parmenides def-frame function in both syntax and semantics; see the documentation of that function for more details. In particular, when any list (except NIL or "()") is given as the default value for a slot, that slot is defined to have facets. In order to declare a slot to not have facets, supply a symbol (such as T or NIL) as the default value. The main difference between literalize and def-frmae is that literalize makes the given class a sub-class of the WME class, and gives FRulekit certain information for printing the class as a WME.

9.2.3. $MAKE

Syntax: ($make <class> <slot-specs)

Example: ($make ’goal :name ’get-cookie :parent ’get-food)

Evaluates all arguments. Adds the given WME to working memory and updates the conflict set if necessary. Returns the Rulekit representation of the working memory element that it makes.

9.2.4. $MAKE-NAMED

Syntax: ($make-named <class> <name> <slot-specs>)

Example: ($make ’goal ’get-1 :name ’get-cookie :parent ’get-food)

The same as $make except that it also allows the user to name the frame which is made.

9.2.5. $REMOVE

Syntax: ($remove {WME} *)

Example: ($remove =c1 =c2)

Removes the given WME(s) from working memory and updates the conflict set if necessary. Should only be executed from the RHS of a production or during a pause. The variables such as =c1 and =c2 are bound to a WME by a LABEL statement in the condition element corresponding to that WME. Note: be


RULEKIT MANUAL PAGE 21

careful not to use remove, which is a CommonLisp function!

9.2.6. $REMOVE-KEEP

Syntax: ($remove-keep {WME} *)

Example: ($remove-keep =c1 =c2)

Just like $remove, except doesn’t delete the Parmenides frame.

9.2.7. $MODIFY

Syntax: ($modify <WME> <slot-specs>)

Example: ($modify =c1 :name ’eat-cookie)

Modifies the specified slot in the given WME by first removing it from working memory, changing the specified slots, then adding the new WME to working memory. Updates the conflict set if necessary. Leaves the other slots unchanged. If *RECORD-LEVEL* (see the section on Global Flags) is 1 or more, then $modify creates a new copy of the given wme; otherwise it modifies the given WME destructively. Returns the new WME made. Should only be executed from the RHS of a production or during a pause. Doesn’t fire any demons associated with the frame.

9.2.8. $MODIFY-IN-PLACE

Syntax: ($modify-in-place <WME> <slot-specs>)

Example: ($modify-in-place =c1 :name ’eat-cookie)

This is a ’true’ modify. Instead of removing and making the WME, which $modify does,

$modify-in-place modifies the specified WME directly, and updates the conflict set if necessary. This results in a faster modify, and more straightforward semantics. With $modify, if a rule had fired with a certain set of WME’s, and then $modify is performed on one of those WME’s, then the rule can re-match even if that rule didn’t test any of the slots which were changed. In other words, with $modify, rules can fire again even when it doesn’t seem that they should. For example, the following rule matches against people whose age is 10, and infers that they must weigh 100:

(RULE find-boy-or-girl

:LHS

((person :age 10 (LABEL =person)))

:RHS (

($modify =person :wt 100)))

  Each time the rule fires, it matches again because the =person WME is $remove’d and $make’d. If $modify-in-place were used, it would not match again since changing the :wt doesn’t affect the match.

  If *RECORD-LEVEL* (see the section on Global Flags) is 1 or more, then $modify-in-place creates a new copy of the given wme; otherwise it modifies the given WME destructively. Returns the new WME made. Should only be executed from the RHS of a production or during a pause. Doesn’t fire any demons associated with the frame.

  Although $modify-in-place has cleaner semantics, the $modify command has been around for so long in production systems that many production sets rely on the semantics of $modify. So in changing to $modify-in-place, make sure that you are not relying on the old semantics.


RULEKIT MANUAL PAGE 22

9.2.9. $MODIFY-DEMONS

Syntax: ($modify-demons <WME> <slot-specs>)

  Exactly like $modify, except it fires demons associated with the modified slots. Only fires demons associated with the first facet modified. Doesn’t fire any class demons. See demons in the Parmenides manual.

9.2.10. EXCISE

Syntax: (excise <rule-name> &optional <excise-all>)

Deletes the given rule from Rulekit’s rule memory. Removes all tests associated the rule (unless shared by other rules). Excise is automatically performed on rules that are re-defined. If <excise-all> is true, then it will excise the rule even if it is isomorphic to other rules.

9.2.11. ADD-FRAME

Syntax: (add-frame <frame>)

Adds an already-defined Parmenides frame instance to working memory. <frame> may be the name of a frame or just a frame.

9.2.12. WHYNOT

syntax: (whynot {<rulename>} *)

FRulekit provides a simple explanation facility for aiding user debugging of rules. It is a supplement to the matches function, below. The WHYNOT function tells you why the given rule didn’t fire. There are two reasons for a rule not firing: if it didn’t match, then WHYNOT will tell you the first condition element that didn’t match. If the rule matched but wasn’t chosen by the c.r. strategy, then it will explain the c.r. strategy and why it chose another rule over that rule. Currently the c.r. strategy is not explained, however.

9.2.13. MATCHES

syntax: (matches <rulename> &key :max :stream)

Example: (matches myrule :max 3)

Lists each of the WMEs that matched the condition elements of the given rule. If max is supplied then it only prints matches for that many condition elements, otherwise it prints matches for all condition elements. Gives more information than WHYNOT but is harder to decipher.

9.2.14. D-IN-INSTANTS

syntax: (d-in-instants <rulename>)

Finds all the differences between the various instantiations of the rule named <rulename>. This is helpful when more instantiations of a rule match than you want. All of the current instantiations may be seen by examining the value of the variable *CONFLICT-SET*.

9.2.15. VAR-IN-INSTANT

syntax: (var-in-instant <variable> <instantiation>)

Example: (var-in-instant ’foo (car *CONFLICT-SET*))


RULEKIT MANUAL PAGE 23

Returns the value of the given FRulekit variable in the given rule instantiation. The variable must be bound on the LHS of the rule.

9.2.16. HALT

syntax: (HALT)

Temporarily stops the production system and returns control to the user. Should only be executed from the RHS of a production. Not to be confused with the atom ’halt which can be returned from rules when the Agenda module is active.

9.2.17. RBREAK

syntax: (rbreak <rname> &optional (<when> :BEFORE))

Example: (rbreak your-rule)

  Breakpointing facility for rules. Tells FRulekit to halt the system before and/or after firing the specified rule. <when> may be either :BEFORE, :AFTER, :ALWAYS, or NIL. If it’s :ALWAYS then it halts both before and after firing the given rule. If it’s NIL then it doesn’t halt before or after the rule. <when> is optional and defaults to :BEFORE. Note that when a rule is re-defined, it will no longer be breakpointed. See also: *PAUSE-EVERY-CYCLE*.

9.2.18. CONT

syntax: (CONT {<WME>} *)

Adds the given WMEs to working memory, then resumes execution of the production system.

9.2.19. RUN

syntax: (RUN &optional (<number-of-cycles> *MAX-BACK*))

Like continue but instead of taking WMEs to add, it optionally takes the number of cycles that the system should run. The default number of cycles is *MAX-BACK*, which is initially set to 50.

9.2.20. BACK

syntax: (BACK &optional <number-of-cycles>)

Like run excepts restores the system to previous states rather than moving it to new ones. Removes WMEs that were added, and adds WMEs that were removed. Default number-of-cycles is 1. In order to back up the system to its initial state, use the clear-net command. The maximum number of cycles for which changes are recorded is *MAX-BACK*.

9.2.21. INIT-RETE

Deletes all rules from the rule memory. Zeros the conflict set and working memory. Should be called

before loading a new set of productions.

9.2.22. CLEAR-NET

  Blanks the declarative memory by deleting all working memory elements from working memory and zeroing the conflict set. Sets *CYCLE* to 0. Although old working memory elements will no longer be seen by rules, they will still be considered frames by Parmenides, and will still be is-a WME. Thus they can be re-added to working memory with the add-frame command (above).


RULEKIT MANUAL PAGE 24

9.2.23. COMPILE-NODES

  Compiles the lisp tests at each of the nodes in the Rete net, resulting in significant execution speedup. Note that even if there are no user-supplied lisp checks, Rulekit generates some lisp code for these tests. However, it is more effective when there are more user lisp checks.

  Occasionally, the lisp compiler may issue the following warning while compiling the lisp code in the Rete nodes:

Warning between functions:

RIGHT bound but not referenced.

  This message could mean one of two things. There could be a CHECK which doesn’t test any FRulekit variables. This is noted by FRulekit at rule-loading time if the switch *RULEKIT-TERSE* is NIL (the default). If you don’t see this warning, then there must be a CHECK which tests FRulekit variables which were bound in previous CE’s, but no variables in the current CE. This is a little less efficient than putting the test in one of the CE’s which bind the variables, but will still work.

9.2.24. COMPILE-RHSES

Compiles the right hand side of each rule, resulting in some speedup and doing some type checking.

9.2.25. COMPILE-ALL

  Compiles all nodes, right-hand-sides, and other data structures. To compile the extra lisp tests, use compile-extra-tests. compile-nodes gains the most efficiency compared to the amount of time spent compiling code, since most of the time is spent in the match. However, if most of the rules are fired many times, then it would probably be best to use compile-all.

9.2.26. INHIBIT-RULES

Syntax: (inhibit-rules <rule-names>)

Example: (inhibit-rules rule1 rule2)

Disallows the given rules from ever being able to enter into the conflict set again. Doesn’t stop the rule from matching; use EXCISE (described above) to remove it from the discrimination net altogether. Temporarily removes from the conflict set any instantiations associated with the rule. Different from the delete field of a rule, which removes the names of rules from the Agenda, but doesn’t affect the rule.

9.2.27. UNINHIBIT-RULES

Syntax: (uninhibit-rules <rule-names>)

Example: (uninhibit-rules rule1 rule2)

Allows the given rules to match again, after being inhibited by inhibit-rules. Puts any associated instantiations back into the conflict set. Different from the add field of a rule, which adds the name of rules to the agenda. The functions INHIBIT-RULE and UNINHIBIT-RULE are also provided.

9.2.28. $MODIFY-NUM

Syntax: ($modify-num <condition-element-number> <slot-specs>)

Example: ($modify-num 2 :name ’eat-cookie)

Exactly like $modify, except takes a condition element number rather than a label. It is bad style to use $MODIFY-NUM from a rule, but it is provided for debugging purposes. Thus its main use should be during pauses.


RULEKIT MANUAL PAGE 25

9.3. Agenda Commands

9.3.1. (r-linear <bucket>)

<bucket> is an ordered list of rule names. This command runs the linear bucket strategy on the list

<bucket>. It assumes that every rule in the given list has already been defined by the RULE command.

9.3.2. (r-cycle <bucket>)

Runs the cyclic bucket strategy on the designated rule list.

9.3.3. (r-priority <bucket>)

Runs the priority bucket strategy on the given bucket.

9.3.4. (r-agenda <agenda> &optional <cycles>)

Runs the given agenda. If <cycles> is supplied, then it limits the number of rule firings to that number.

Otherwise it runs until the end of the agenda is reached.

<agenda> is an ordered list of (<bucket-name> <rule-name1> <rule-name2> ...). Example:

(r-agenda ’((bucket-name-A rule-A-1 rule-A-2 ...)

(bucket-name-B rule-B-1 rule-B-2 ...) ...))

This is the top-level call to the agenda mechanism, and loosely corresponds to the Start command.

9.3.5. (create-new-agenda <agenda>)

<agenda> is the same as in the r-agenda command. Defines the agenda without running it.

9.3.6. (cont-agenda &optional <cycles>)

Continues the agenda execution after the Agenda has been defined with r-agenda or

create-new-agenda. If <cycles> is supplied then it limits the number of rule firings to that number.

9.3.7. (add-rule <bucket-spec> <bucket-position> <rule-names>)

  Adds the list of rules given in <rule-names> to the bucket specified by <bucket-spec> at the place in the bucket specified by <bucket-position>. <bucket-spec> is usually just a name of a bucket but see Appendix IV for the complete description of <bucket-spec> and <bucket-position>. If <bucket-spec> is a name but isn’t a bucket, FRulekit makes a bucket with that name.

9.3.8. (add-rules <list-of-addrule-specs>)

Similar to :ADD of the RULE command except the arguments are evaluated. <list-of-addrule-specs>

takes the form:

((<bucket-spec-1> <bucket-position-1> . rule-names-1)

(<bucket-spec-2> <bucket-position-2> . rule-names-2) ..)

9.3.9. (make-bucket <bucket-name> <bucket-contents>)

<bucket-contents> is simply an ordered list of rule names to put into the bucket. Example:

(make-bucket ’bucket-1 ’(rule-A-1 rule-A-2))

Defines a bucket, but doesn’t put the bucket into the agenda. Use r-agenda or add-buckets to do this.


RULEKIT MANUAL PAGE 26

9.3.10. (add-buckets <bucket-specs>)

Like :BUCKET-ADD of the RULE command except the argument is evaluated. <bucket-specs> have

the form:

’((bucket-name-1 <bucket-spec-1>)

(bucket-name-2 <bucket-spec-2>) ...)

Example: (add-buckets ’((bucket-1 :*next) (bucket-3 :*current)))

  Note that if <bucket-spec> is a bucket name, that bucket must already be in the Agenda. The buckets are added after the given agenda positions.

9.3.11. (add-bucket <bucket-name> <bucket-spec>)

Adds a single bucket to the position in the Agenda specified by <bucket-spec>.

9.3.12. (add-new-bucket <bucket-name> <bucket-spec> <bucket-contents>)

A combination of make-bucket and add-bucket, this first defines the bucket <bucket-name> to have

<bucket-contents>, then puts it into the Agenda.

9.3.13. (delete-rules <list-of-delelterule-specs>)

Similar to :DEL of the RULE command except the arguments are evaluated. <list-of-deleterule-specs>

takes the form:

((<bucket-spec-1> . rule-names-1)

(<bucket-spec-2> . rule-names-2) ...)

9.3.14. (delete-buckets <bucket-names>)

<bucket-names> is a list of bucket names. Example:

(delete-buckets ’(bucket-name-A bucket-name-B))

Similar to the :BUCKET-DEL slot of the RULE schema, except it evaluates its argument.

9.3.15. (delete-bucket <bucket-name>)

Deletes the specified bucket from the Agenda.

9.3.16. (get-bucket <bucket-name>)

Returns the list of rule names associated with the given bucket.

9.3.17. (compile-extra-tests)

Similar to compile-nodes, this compiles the lisp expressions on the extra-test slot of each rule that has

one. The more extra lisp tests there are, the more useful this function will be.

10. Useful Global Variables and Switches

In general, switches specific to Agenda are preceded by one or more exclamation points (!), whereas

all other switches are surrounded by asterisks (*).

  *CR-STRATEGY* An ordered list of instantiation filters which defines the conflict resolution strategy. When the Agenda module is used, it uses this to decide between different instantiations of the same rule. FRulekit provides three cr-strategies: *LEX* and *MEA*, and *FULL-CR*. See section 6 on conflict-resolution for the details of defining c-r strategies.


RULEKIT MANUAL PAGE 27

  *RULE-NAMES* A list containing the names of all the Rulekit rules. Note: putting the name of a rule into a bucket doesn’t make it a rule.

  *RECORD-LEVEL* Determines how much recording of working memory changes Rulekit does. 0 means no recording, 1 means enough recording for the back command to work, and 2 means full tracing for the trace package. It is normally set to 1. When the trace package is loaded, it is set to 2. If you never intend to use the back command, then set *RECORD-LEVEL* to 0 to improve efficiency.

  If the record level is 2, then when WMEs are modified, a new copy of them is made; otherwise the WME is destructively modified. If the record level is 1, then a record of modifications made to each WME is made, so that WMEs can be restored to their previous state.

*CONFLICT-SET* Type this to see the current contents of the conflict set.

  *PAUSE-EVERY-CYCLE* If true, Rulekit will pause on every cycle with the lisp function break. Gives the user a read-eval-print loop in lisp, useful for debugging. Note that during a pause, one is effectively in the right hand side of the production that just fired. Thus, one can look at the bindings of the current production’s variables just by typing the variable name (preceded by the ’=’ sign). Also, one may call the RHS actions such as $remove and $modify with these variables. See also: RBREAK.

  *TRACE-FIRE* If true, then Rulekit types out the name of each rule when it is fired. If *TRACE-FIRE* is set to ’values, then Rulekit will additionally print out the values of all the production variables. Not to be confused with the trace package.

  *TRACE-MATCH* Causes Rulekit to print out every production match, regardless of whether it actually fires.

  *TRACE-UNMATCH* Causes Rulekit to print out whenever a rule gets taken away from the conflict set because it no longer matches.

  *TRACE-ADD* When true, Rulekit reports every time a working memory element gets added to working memory.

  *TRACE-DELETE* When true, Rulekit reports every time a working memory element gets deleted from working memory.

*TRACE-CR* If true, then Rulekit reports on the progress of the conflict resolver.

*TRACE-CYCLE* If true, causes Rulekit to print out the cycle number on every cycle. On by default.

*TRACE-MODIFY* If true, then Rulekit will report on every modify-in-place.

  *RULEKIT-TERSE* Controls the printing of miscellaneous messages by FRulekit; for instance it will not tell you what rules are being defined if this flag is non-nil. By default NIL.

  *REFRACT* If true, then refraction is enabled. Refraction simply means that when a rule fires, its instantiation is removed from the conflict set so that the same instantiation won’t fire again. Since refraction is a useful way to avoid infinite loops, it is by default on.

  *MAX-BACK* Set by default to 50, this tells Rulekit the maximum number of cycles to record WMEs for backing up. This number should be altered before FRulekit is loaded since certain data structures are created which depend on this number.

*FULL-WMEPRINT* When nested WMEs are encountered by pp-wme, they are not ordinarily printed,


RULEKIT MANUAL PAGE 28

but instead only their class is printed. If *FULL-WMEPRINT* is non-nil, then nested WMEs will be printed fully.

  *NUMBER-WMES* If this flag is non-NIL, then when pretty-printing a set of WME’s, FRulekit will also print a WME number next to each of them. This number can be used with the pp-ith-wme and save-ith-wme functions to print or save a selected WME.

  *AGENDA* The current agenda (i.e., list of bucket names). Use get-bucket on the bucket name to retrieve the list of rules in that bucket.

  !trace-test If set to non-nil, then every time a rule is tested by the Agenda system, it is reported to the terminal.

  !trace-act If set to non-nil, then every time the Agenda applies a rule, it prints out the result value of the rule. Similar to *TRACE-FIRE*.

  !trace-agenda If set to non-nil, then agenda actions such as rule addition and deletion will be printed when they occur.

  !!control The user sets this to the desired agenda control strategy. The possible values are :linear, :priority, :bucket, :bucket-priority and :linear-cycle, as described above.

11. Multiple Language Messages

  FRulekit can produce its messages in a number of languages. Although it currently supports only English and Spanish, it is easy to add new languages through message files. When FRulekit is loaded, it loads a message file for the appropriate language. When installing FRulekit, the definition of the FRulekit directory must be set - change the variable *FR-PATHNAME*, near the top of build.lisp, or set it (while in the FRulekit package) before loading FRulekit. The language can also be set by changing the variable *LANGUAGE*. The current language can be changed by calling define-language with the name of the appropriate language. "eng" defines English, and "esp" defines Spanish. The default is English.


RULEKIT MANUAL PAGE 29

12. Acknowledgements

Many people at CMU have helped with the development of FRulekit and its documentation.

* Daniel Borrajo, visiting from Spain, implemented the freelist, $modify-in-place command and the multi-lingual capability.

* Angela Hickman helped to write the documentation of the agenda module.

* My discussions with Brian Milnes have helped to solidify my understanding of the Rete net.

* I thank the CMU users for bearing with me while bugs were still being fixed and for suggesting ideas for improvement: Keith Barnett, Mark Perlin, Bernadette Kowalski, Patty Cheng, Klaus Gross, Hans Tallis, and Ben McLaren.


RULEKIT MANUAL PAGE 30

I. An Example: The Tower of Hanoi

;;; FRulekit program to solve the Tower of Hanoi problem.

(use-package ’FRulekit)

(setq *CR-STRATEGY* *MEA*)

(literalize move ()

:stack NIL

:from NIL

:to NIL)

(literalize on ()

:disk NIL

:peg NIL)

(RULE break-down-problem

:LHS ((move (LABEL =c3) :stack =stack :from =from :to =to

(CHECK (listp =stack))) ;; Must be a ’non-trivial’ move

(on :disk =d :peg =from (CHECK (subsetp =stack =d))))

:RHS (($remove =c3)

($make ’move :stack (allbutlast =stack)

:from (otherpeg =from =to) :to =to)

($make ’move :stack (car (last =stack)) :from =from :to =to)

($make ’move :stack (allbutlast =stack) :from =from

:to (otherpeg =from =to))))

(RULE move-disk

:LHS ((move (LABEL =c1) :stack =stack :from =from :to =to)

(on (LABEL =c2) :disk =d :peg =from

(CHECK (eq =stack (car =d))))

(on (LABEL =c3) :disk =x :peg =to

(CHECK (or (null =x) (> (car =x) =stack)))))

;EXTRA-TESTS (equal 3 3)

:RHS (($remove =c1)

($modify =c3 :disk (cons =stack =x)) ;;put it on other stack.

($modify =c2 :disk (cdr =d)) ;;take that disk off stack (format T "Moving disk ~A to top of peg ~A" =stack =to)))

(defun begin ()

(start

(on :peg 1 :disk ’(1 2 3))

(on :peg 2 :disk nil)

(on :peg 3 :disk nil)

(move :stack ’(1 2 3) :from 1 :to 3)))

;;;Utility functions for tower-of-Hanoi

(defun allbutlast (a)

(let ((a (nreverse (cdr (reverse a))))) (if (null (cdr a)) (car a) a)))

(defun otherpeg (a b)

(car (delete a (delete b (copy-list ’(1 2 3))))))


RULEKIT MANUAL PAGE 31

II. Another Example: Network propagation

;;; FRulekit program to demonstrate the propagation ability of ;;; Parmenides together with the pre-set and post-set demons.

(use-package ’Parmenides)

(use-package ’FRulekit)

(literalize person (:propagate T :cache :*ALL*)

:walks (:value ’yes))

;;; Boy is a sub-class of person.

(literalize boy (is-a (person))

:age (:value 10))

(defun init-testnet ()

(set-facet ’person :walks :value ’yes))

(RULE find-walking-boy

:LHS (

(boy :age =a :walks yes (LABEL =b)))

:RHS (

(format T "Found walking boy ")

(pp-wme =b)

(set-facet-demons ’person :walks :value ’no)))

(RULE find-non-walking-boy

:LHS (

(boy :walks no (LABEL =b)))

:RHS (

(format T "Found non-walking boy ")

(pp-wme =b)

($remove =b)))

(defun begin ()

(init-testnet)

(start

(boy :age ’(:value 10))))


RULEKIT MANUAL PAGE 32

III. Yet another Example: Nested WMEs

;;; Simple Monkey and Bananas in FRulekit

;;; This version demonstrates creation and matching of nested WMEs.

;;; The state slot of the goal WME is a pointer to an actual state wme.

;;; WANT-TO-MOVE-TO-THEM creates and MOVE-TO-THEM and EAT-THEM test

;;; for this.

(use-package ’FRulekit)

(literalize goal ()

:state NIL) ;; Any constant will do to specify that it’s not faceted.

;;;Generic state of something. Tells where something is, and other info.

(literalize stateof ()

:what NIL

:where NIL

:other NIL)

(RULE want-to-move-to-them

:LHS ((stateof :what bananas :where =w :other yummy (LABEL =state))

(<ABS> (stateof :what me :where =w)))

:RHS (($make ’goal :state =state)))

;;;Matches a GOAL wme whose state slot is filled by a STATEOF wme.

(RULE move-to-them

:LHS (

(goal (LABEL =goal) :state (stateof :what bananas :where =ban))

(stateof :what me :where =w (LABEL =me) (CHECK (<> =w =ban))))

:RHS (($modify =me :where =ban))) ;;just hyperspace to the bananas

;;;Matches a GOAL wme whose state slot is filled by a STATEOF wme.

(RULE eat-them

:LHS (

(goal (LABEL =goal)

:state (stateof :what bananas :where =w :other yummy))

(<ABS> (stateof :what me :where =x (CHECK (<> =w =x)))))

:RHS (($remove =stateof =goal)))

;;;FRulekit automatically binds =stateof to the nested wme

(defun begin ()

(start

(stateof :what ’me :where ’corner :other ’hungry)

(stateof :what ’bananas :where ’ceiling :other ’yummy)))


RULEKIT MANUAL PAGE 33

IV. Specifying the position of buckets and rules

  Many commands, such as rule add, rule delete, bucket add and bucket delete, refer to bucket positions within the agenda or to rule positions within a bucket. A bucket may be referred to by just giving the name or by giving one of the positional keywords:

<agenda-pos> = :*current, :*next, :*previous, :*first, or :*last <bucket-spec> = <bucket-name> or <agenda-pos>

The position of a rule within a bucket is specified as:

<bucket-position> = :*first, :*last, or :*next

Note that :*next is only defined while the agenda is running.

A list of rules is given as:

rule-names = (<list-of-rule-names>) or :*ALL

V. Acquiring, Loading, Compiling and Using FRulekit

FRulekit is free to affiliates and members of the CMU community. It is available for a nominal fee to all

others. To request a copy, send mail to pshell@ml.ri.cmu.edu or write to:

Peter Shell

School of Computer Science

Carnegie Mellon University

Pittsburgh, PA 15213

  If you use FRulekit, please send mail to the above address to get on the computer mailing-list for updates.

  The Parmenides frame system, in /usr/pshell/parmenides/parmenides.lisp on the ML vax and WIENER RT, must always be loaded before any other module is loaded or compiled. (Note that Parmenides must be loaded before it is compiled.) Under CMU Lisp the compiled file, parmenides.fasl, should be loaded. The FRulekit sources are kept in /usr/pshell/frulekit/build.lisp and inter.lisp, on both the ML vax and WIENER RT machines. Build must be loaded before inter. They are known to work for many dialects of CommonLisp (e.g., CMU CLisp, Allegro, Lucid, Dec, Symbolics CLisp). However, only the compiled CMU lisp (.fasl) files are kept up to date. The compiled RT code is in /../wiener/usr/pshell/parmenides/ and

/../wiener/usr/pshell/frulekit/. In order to load the multi-lingual message files, the variable *FR

PATHNAME*, near the top of build.lisp, must be defined. This variable defines the directory in which the FRulekit files are found. FRulekit is put into a package called ’FRulekit’ with nickname ’FRK’. After loading FRulekit, one should do: (use-package ’FRulekit).

  The (optional) agenda package is in /usr/pshell/frulekit/agenda.lisp and agenda.fasl, and should be loaded after build and inter. The (optional) trace package is in /usr/pshell/frulekit/trace.lisp and trace.fasl, and should also be loaded after build and inter. All modules should be loaded before any rules are defined. There is a directory of sample FRulekit programs in /usr/pshell/frulekit/eg/. This document is /afs/cs/user/pshell/frulekit/frulekit.{mss, doc, ps}.

In order to load in the FRulekit system, one would type:


RULEKIT MANUAL PAGE 34

(load "/usr/pshell/parmenides/parmenides")

(use-package ’parmenides) ;; optional

(load "/usr/pshell/frulekit/build")

(load "/usr/pshell/frulekit/inter")

(load "/usr/pshell/frulekit/agenda") ;; optional

(load "/usr/pshell/frulekit/trace") ;; optional

(use-package ’frulekit)

In order to compile FRulekit from scratch, one would type:

(load "/usr/pshell/parmenides/parmenides.lisp")

(compile-file "/usr/pshell/parmenides/parmenides.lisp")

(load "/usr/pshell/parmenides/parmenides")

;; Compiled version is MUCH faster!

(compile-file "/usr/pshell/frulekit/build.lisp")

(load "/usr/pshell/frulekit/build")

(compile-file "/usr/pshell/frulekit/inter.lisp")

(load "/usr/pshell/frulekit/inter")

(compile-file "/usr/pshell/frulekit/agenda.lisp")

(compile-file "/usr/pshell/frulekit/trace.lisp")

(use-package ’frulekit)


RULEKIT MANUAL PAGE I

Table of Contents

1. Introduction 1

2. Working Memory Elements 1

3. The Left Hand Side of a Rule 2

3.1. Matching Against Working Memory 2

3.2. The ABSence test 2

3.3. The <OR> test 3

3.4. Lisp Tests 3

3.5. The BIND commands 4

3.6. Specifying Slots 5

3.7. Labeling Condition Elements 5

3.8. Nested WMEs 6

3.9. The =! Syntax 6

3.10. The =< Syntax 7

4. Extra Lisp Test 7

5. Right Hand Side Actions 7

5.1. $MAKE 7

5.2. $REMOVE 7

5.3. $MODIFY 8

6. Conflict Resolution 8

6.1. LEX 8

6.2. MEA 9

6.3. FULL-CR 9

6.4. User-defined C.R. Strategies 9

7. Agenda 10

7.1. Bucket Control Strategies 10

7.2. Agenda Control Strategies 11

8. Trace Package 11

8.1. Purpose 11

8.2. Data Types 12

8.3. Tracing Productions 13

8.3.1. give-matches <?WME> 13

8.3.2. give-firings <?WME> 13

8.3.3. give-next-matches <?WME> 13

8.3.4. give-next-firings <?WME> 13

8.3.5. give-matches-on-cycle N 13

8.3.6. give-firings-on-cycle N 13

8.3.7. give-named-matches <pname> N 13

8.3.8. give-named-firings <pname> N 14

8.3.9. lhs-of <pname> 14

8.3.10. rhs-of <pname> 14

8.4. WME Creation 14

8.4.1. prod-responsible-for <?WME> 14

8.4.2. possible-prods-responsible-for <?WME> 14

8.4.3. in-wmp <CONDE> 14

8.4.4. give-negs <production-firing> 14

8.5. Tracing Goals 14

9. Command Summary 15

9.1. General Commands 15

9.1.1. RULE 15

9.1.2. RULE* 16

9.1.3. BUILD-RULE 16

9.1.4. BUILD-RULE* 16

9.1.5. PP-RULE 16

9.1.6. PP-WME 17


RULEKIT MANUAL PAGE II

9.1.7. PP-WMES 17

9.1.8. PP-WM 17

9.1.9. PP-ITH-WME 17

9.1.10. SAVE-WME 17

9.1.11. SAVE-WM 17

9.1.12. SAVE-ITH-WME 17

9.1.13. WM 17

9.1.14. SET-WM 18

9.1.15. ADD-TO-WM 18

9.1.16. Pp-instant 18

9.1.17. Def-cr-strategy 18

9.1.18. Def-complex-cr-strategy 18

9.1.19. Def-inverse-action 19

9.1.20. PR-SWITCHES 19

9.1.21. RE-INIT-TRACE 19

9.1.22. $DISJ 19

9.1.23. $DISJ-NUMS 19

9.2. OPS style Commands 20

9.2.1. START 20

9.2.2. LITERALIZE 20

9.2.3. $MAKE 20

9.2.4. $MAKE-NAMED 20

9.2.5. $REMOVE 20

9.2.6. $REMOVE-KEEP 21

9.2.7. $MODIFY 21

9.2.8. $MODIFY-IN-PLACE 21

9.2.9. $MODIFY-DEMONS 22

9.2.10. EXCISE 22

9.2.11. ADD-FRAME 22

9.2.12. WHYNOT 22

9.2.13. MATCHES 22

9.2.14. D-IN-INSTANTS 22

9.2.15. VAR-IN-INSTANT 22

9.2.16. HALT 23

9.2.17. RBREAK 23

9.2.18. CONT 23

9.2.19. RUN 23

9.2.20. BACK 23

9.2.21. INIT-RETE 23

9.2.22. CLEAR-NET 23

9.2.23. COMPILE-NODES 24

9.2.24. COMPILE-RHSES 24

9.2.25. COMPILE-ALL 24

9.2.26. INHIBIT-RULES 24

9.2.27. UNINHIBIT-RULES 24

9.2.28. $MODIFY-NUM 24

9.3. Agenda Commands 25

9.3.1. (r-linear <bucket>) 25

9.3.2. (r-cycle <bucket>) 25

9.3.3. (r-priority <bucket>) 25

9.3.4. (r-agenda <agenda> &optional <cycles>) 25

9.3.5. (create-new-agenda <agenda>) 25

9.3.6. (cont-agenda &optional <cycles>) 25

9.3.7. (add-rule <bucket-spec> <bucket-position> <rule-names>) 25

9.3.8. (add-rules <list-of-addrule-specs>) 25

9.3.9. (make-bucket <bucket-name> <bucket-contents>) 25


RULEKIT MANUAL PAGE III

9.3.10. (add-buckets <bucket-specs>) 26

9.3.11. (add-bucket <bucket-name> <bucket-spec>) 26

9.3.12. (add-new-bucket <bucket-name> <bucket-spec> <bucket-contents>) 26

9.3.13. (delete-rules <list-of-delelterule-specs>) 26

9.3.14. (delete-buckets <bucket-names>) 26

9.3.15. (delete-bucket <bucket-name>) 26

9.3.16. (get-bucket <bucket-name>) 26

9.3.17. (compile-extra-tests) 26

10. Useful Global Variables and Switches 26

11. Multiple Language Messages 28

12. Acknowledgements 29

I. An Example: The Tower of Hanoi 30

II. Another Example: Network propagation 31

III. Yet another Example: Nested WMEs 32

IV. Specifying the position of buckets and rules 33

V. Acquiring, Loading, Compiling and Using FRulekit 33





Oracle Financials

Oracle Training Manual Database administrators Project Management International projects 


Compass IT Oracle training manual.

The training manual will appear in the floating frame below. If your browser does not display the manual properly, click here to open it in a new window.

Oracle Applications Training Material


All Applications


Oracle Applications - Basic Navigation

User Guide to the Oracle applications Navigat and Menu

Oracle Applications – Finding Information

User guide on using an inquiry screens as FIND and QUERY features, including wild card

Oracle General Ledger – Standard Reports

User guide on running, reviewing and exportin Oracle reports

General Ledger

Oracle GL – Journal Entry

User guide, how to enter, post and reverse a journal

Oracle GL – Writing FSG’s

User guide on writing an FSG report using

column sets, content sets and row orders.

Oracle GL – FSG screens

Graphical user guide to assist in writing FSG r creating FSG report components.

Oracle GL – Loading Tax Journals

Oracle GL – Dataload.exe

Oracle GL – Tax Journal Spreadsheet

Using the dataload.exe application to enter t into Oracle General ledger.

Dataload application for download

Template spreadsheet for creating a GL tax jou


Creating and Using the Recurring and Allocat


Compass Incorporated Ltd 2004 | links | feedback@compassinc.co.uk


[Company logo inserted here - Optional]

Certificate of Design and

Manufacturing Conformance with NBC 2010

This Certificate is to affirm that all components of the Steel Building System described below, to be supplied by the named Manufacturer certified in accordance with CSA-A660, have been or will be designed and fabricated in accordance with the following Standards to carry the loads and load combinations specified.

1. DESCRIPTION

Manufacture's Name and Address

Manufacturer's Certificate No. under CSA A660 _

Customer Order Number

Building Type and Size

Intended Use and Occupancy

Importance Category (NBC, Sentence 4.1.2.1(3))

Site Location

Applicable Building Code

Builder's Name and Address

Owner's Name and Address

2. DESIGN STANDARDS Engineer's Initials*

National Building Code of Canada 2010, Part 4: Structural Design

CAN/CSA-S16-09, Design of Steel Structures

CAN/CSA-S136-07, North American Specification for the Design of Cold-Formed Steel Structural Members

Other (specify) dated

3. MANUFACTURING STANDARDS

(a) Fabrication has been, or will be, in accordance with CAN/CSA-S16 and CAN/CSA-S136, as applicable.

(b) Welding has been or will be performed in accordance with CSA-W59 and CAN/CSA-S136, as applicable.

(c) The Manufacturer has been certified in accordance with CSA-W47.1, for Division 1 or 2 and/or CSA-W55.3 if applicable.

(d) Welders have been qualified in accordance with CSA-W47.1.

4. PURLIN STABILITY

Purlin braces are provided in accordance with CAN/CSA-S136, Clause D3 and Appendix B, Clause D3.2.2. In particular, for a standing seam roof supported on movable clips, braces providing lateral support to both top and bottom purlin flange have been or will be provided. The number of rows is determined by analysis but in no case is less than 1 for spans up to 7m inclusive or less than 2 for spans greater than 7m.

5. LOADS

(a) Snow and Rain Load

1-in-50 year ground snow load, Ss, (kPa)

1-in-50 year associated rain load, Sr, (kPa)

Wind exposure factor, Cw,

Importance factor, Is,

Roof snow load, S, (kPa)

Drift load considered (NBC Sub-section 4.1.6.2.8) refer to drawing of specific building

Specified rain load (NBC, Article 4.1.6.4) (mm)

*Initial each true statement. Mark N/A if statement does not apply.


(Continued)

Engineer's Initials*

(b) Full and Partial Snow Load

(i) Applied on any one and any two adjacent spans of continuous purlins.

(ii) Applied on any one and any two adjacent spans of modular rigid frames with continuous roof beams.

(iii) Applied as described for the building geometry in NBC, Part 4, and in the User’s Guide – NBC 2010 Structural Commentaries (Part 4 of Division B), Commentary G: Snow Loads.

(c) Wind Load

1-in-50 year reference velocity pressure (kPa)

Importance factor, Iw,

(d) Wind Load Application

(i) Applied as per NBC, Part 4, Sub-section 4.1.7.

(ii) Pressure coefficients as per User’s Guide – NBC 2010 Structural Commentaries (Part 4 of Division B), Commentary I: Wind Loads, Figures I7 thru I14.

(iii) Building internal pressure Category ____ per User’s Guide – NBC 2010 Structural Commentaries (Part 4 of Division B), Commentary I: Wind Loads.

(e) Crane Loads (where applicable)

Type (top-running) (under-running) (jib)

Capacity (tonnes)

Wheel base (m)

Maximum static, vertical wheel load (kN)

Vertical impact factor

Lateral factor (%) lateral wheel load (kN)

Longitudinal factor (%) maximum longitudinal load (kN/side)

(f) Mezzanine Live Load (kPa)

(g) Earthquake Load

Applied as per NBC, Part 4, Sub-section 4.1.8

Sa(0.2) _____ Sa(0.5) _____ Sa(1.0) _____ Sa(2.0) _____ Fa _____ Fv _____ IE _____

(h) Other Live Loads (specify)

(i) Dead Loads

Dead load of building components is incorporated in the design

Collateral load (mechanical, electrical, ceiling, sprinklers, etc) (kPa)

Mezzanine (kPa)

Other (specify) ( )

(j) Load Combinations

Applied in accordance with NBC, Part 4 Section 4.1.

6. GENERAL REVIEW DURING CONSTRUCTION

The Manufacturer does not provide general review during construction for regulatory purposes.

* Initial each section. Mark N/A if statement or section does not apply.

7. CERTIFICATION BY ENGINEER

I , a Professional Engineer registered or licensed to

practice in the Province or Territory of , hereby certify that I have

reviewed the design and manufacturing process for the steel building system described. I certify that the foregoing statements, initialed by me, are true.

Name Signature

Title

Affiliation Date

Professional Seal


A short manual to run simulations on the High Performance Cluster

(HPC)

Bram Kuijper

address

Theoretical Biology Group, Centre for Ecological and Evolutionary Studies (CEES), University of Groningen,

P.O. Box 14, NL-9750 AA Haren, the Netherlands, a.l.w.kuijper@rug.nl

errors, mistakes, additions?

This manual is far from perfect, so e-mail me any suggestions for improvement.

1 What is the high performance cluster?

The University’s Center for Information Technology (CIT) has a number of computing clusters available to us, as you can see on their website: http://www.rug.nl/cit/hpcv/index. Each cluster is basically a large collection of computers that are meant to exclusively run simulations or do other forms of number crunching. We theobios are allowed to use their 200-core Linux cluster: http://www.rug.nl/cit/hpcv/faciliteiten/HPCCluster. This manual will briefly explain to you how to run programs on that cluster.

2 Brief description of cluster use

In order to be prepared, you’ll have to perform the following steps to run something on the

hpc-cluster:

1. copy the appropriate files from your computer to your home directory on the hpc, using a scp transfer program such as WinSCP;

2. log in with a ssh shell program such as putty to your home directory on the hpc computer;

3. recompile your simulations on the cluster computer, using a command-line C++ compiler such as g++ or pgCC;

4. when your source code contains errors, make edits using a console editor such as nano or vim or by making edits on your own computer and copying the edited file to the cluster;

5. write a file that submits jobs to the cluster using either of the previously mentioned editing possibilities;

6. submit the jobs to the computer using the command-line tool qsub;

7. check after a while if the jobs is done using the command-line tool qstat.

3 Requirements

1 An account on the cluster.

Request a HPC account by sending an e-mail to Kees Visser: kees.visser at rug.nl. Explain him briefly why you need a cluster account, say that you are from the Theoretical Biology group and ask him kindly to provide you an account. You’ll subsequently receive an e-mail with a username and a password, which you need to change as soon as possible (see below). Let our secretary, Joke, know when you have a cluster account.

2 A scp transfer program.

On Windows, use WinSCP, available at: http://winscp.net/eng/index.php. Or use

FileZilla: http://filezilla-project.org.

3 On Mac OS X, you can make scp connections within the ‘network connections’ options of Finder. If using Finder does not work for you you can either use the Mac


version of FileZilla, available here: http://filezilla-project.org, or resort to command-line use of the built-in scp program (see later).

4 On Linux, use either the built-in scp through the command-line or make a scp connection in nautilus (Gnome) or dolphin (KDE), so that you have a graphical interface.

5 A ssh shell program.

You will need a ssh shell program to log onto the HPC’s main computer and to

recompile your program (see later).

6 On Windows, use putty, which can be found here:

http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe.

If you have installed WinSCP, putty is already included somewhere (just look for it in the program’s menu bar).

7 On Mac OS X as well as Linux, there is a built-in ssh shell in every console. Just fire up a console and type ssh -v in order to be sure.

4 Step 1: logging into the cluster using ssh

Windows

Start up putty. Under Host Name type the following hostname:

hpcibm1.service.rug.nl. Type an appropriate name in the Saved Sessions field, for example ‘hpccluster’ (this can be any name). Then click Save, so that this hostname is stored in putty for future use. Then press login and putty connects. When putty asks you if you want to accept a key, click yes. A black screen starts up and promts for ‘login as:’. Now type the username that has been provided to you by Kees Visser (see his e-mail). Subsequently, type the provided password. If the password works, you are now logged into the cluster and you see something like the text below.

Mac OS X and Linux

Start a console and type:

$ ssh your_user_name@hpcibm1.service.rug.nl

Leave out the initial dollar sign, this is only indicating the reader the prompt used in a console window. Replace your_user_name by the user name provided to you by Kees Visser in the e-mail. Press enter. Type ‘yes’ when you get the question if you want to accept a key or not. Type the password provided to you in the e-mail. If this password does not work after a number of tries, contact Kees Visser again. If the password works, you’ll get the following screen below:

Last login: Mon Nov 17 22:05:49 2008 from cc809020-a.groni1.gr.home.nl username@hpcibm1:~$

Congratulations, you have just logged in to the cluster. Just to let you know, username@hpcibm1: $ is the commandline prompt and just indicates the place where you can type commands. You should not type this prompt.

Actually changing the password

Now you are at the command line of one of the HPC cluster’s computers. To change your

password type:

$ passwd


You’ll have to type in your current password, after which the computer asks you to provide your own. Please, use a password that is a bit more difficult to crack by making use of capitals and normal letters as well as digits.

If the password is successfully changed, you can start your work.

Note

Linux is case-sensitive in everything: names, passwords, files, etc. Take care when you use

a upper or lowercase character!

5 Step 2: transferring your files to the cluster

Windows: transfer using WinSCP

Open WinSCP. It should start with a dialog asking you for a hostname and your username and password. The hostname of the HPC is again: hpcibm1.service.rug.nl. The username is the username used previously to change the password, the password is your new password. Before pressing the Login button, save your settings first by pressing Save so that you don’t have to retype everything the next time.

After you have logged in, you’ll be asked once more to store a key. Do that. If everything went okay, you should now see the contents of your home directory on the HPC cluster, having the name /home/rugthbio/your_user_name. You should now be able to transfer files to and from the cluster, just by dragging folders and files from your own computer to the HPC cluster and back.

If however, WinSCP opens a location on the HPC cluster that is outside of your home directory, make sure to switch to somewhere within that directory so that you actually have access to a place to which you can copy things.

6 Step 3: recompile your simulations on the cluster

Recompiling your simulations is necessary, since the operating system version is different from your computer. This means that libraries and header files normally used by your program are still there, but they may differ. Recompiling is therefore mandatory.

First, I discuss the different compilers present on the HPC. Subsequently, I describe how to work with them in order to get a program that can be ran on the HPC.

What compilers can I use?

There are two C++ compilers installed on the HPC cluster, g++ and pgCC. g++ is the C++ compiler of the GNU Compiler Collection (GCC), a collection of open source compilers for various computer languages. g++ is available on almost any Linux system and recently became available on Windows as well, distributed through the MinGW-package (see below). The pgCC compiler is a proprietary compiler, sold by the Portland Group and supposedly produces much faster code than g++ (although I did not notice any difference). I advice you to start using g++ and if that works out successfully, step over to pgCC if performance is indeed different.

How to compile your source code?

First of all, forget the idea of a nice graphical interface like Borland or Visual C++ have. g++ and pgCC are just simple command line compilers. Second, these command-line compilers do not directly run the program after building, like Borland or Visual C++ can


do for you. Instead, the command line compiler now just delivers you an executable file that you can run yourself. Let’s start:

6.1 Make a subfolder in the home directory on the HPC

You can do this in WinSCP and I think you are wise enough to figure out how. I show you

the way I do it using the command line shell on the cluster (e.g. putty):

username@hpcibm1:~$ pwd

/home/rugthbio/username

username@hpcibm1:~$ mkdir simulation

username@hpcibm1:~$ cd simulation

username@hpcibm1:~$ pwd

/home/rugthbio/username/simulation

>From now on, I will not show the prompt username@hpcibm1: $ anymore in any listings, but I replace it by $. Do not type that $! It is just to indicate that you are working on the command line.

With the pwd command you can check in which directory you are right now, and it turns out that you are apperently in your own home directory /home/rugthbio/username. Subsequently, with the mkdir command, you create a new directory and you change to that directory using cd followed by the desired directory name. Last but not least, using pwd you see that the current working directory is your newly created folder.

6.2 Copy the source files to the subfolder on the HPC

Copying the necessary *.cpp and *.h files over is an easy task using a graphical client such

as WinSCP, just drag it over to the desired folder on the HPC.

If you want to copy stuff from the Mac or Linux computer, and you have a console open on your own computer at the location of your source code, type the following:

$ scp my_source_code.cpp username@hpcibm1.service.rug.nl:~/simulations/.

The dollar sign indicates the prompt. The ? sign is a shortcut for your home directory. Now, scp will copy the file named source_code.cpp to the simulations directory within your home directory on the HPC. If you want to copy a whole folder at once, type scp -r instead of just scp

6.3 Compile your source code

If you are not logged in yet on the HPC through the ssh shell (i.e., through putty), do so (see above).

Once logged in through the ssh shell, change to the directory in which you have your simulations, using the cd command (see the intro of section 6.5 How to compile your source code?paragraph*.7). I assume that your *.cpp and *.h files are all present in the folder named simulations, within your home directory on the HPC cluster:

$ cd simulation

Now type the command to invoke the compiler. I will assume that you want to use the g++ compiler and not the pgCC compiler.


In my examples I will also assume that your program consists of one *.cpp file. If you have multiple *.cpp files, it is in most cases sufficient to just name all of them on the command line (see below). If you want to get sophisticated you can also use a program like make to make sure only the compilation steps absolutely required are done. For simple examples of how to use make see:

http://www.gnu.org/software/make/manual/html_node/index.html, especially chapter 2.

Given our previously mentioned assumptions we compile our program by typing (add more .cpp files after my_code.cpp if required):

$ g++ -Wall -o the_program my_code.cpp -lstdc++

This command compiles the source file named my_code.cpp into the program name the_program. The option -o tells the compiler how to name the program it is going to produce. Use -l to add system libraries to the compilation (in most cases the C++ standard library stdc++ will be sufficient). Note that I refrain from using spaces. You can use spaces on Linux however, although not the normal way. Everytime you use a space in a name, escape it by using a backslash, for example: my\ code.cpp. I also do not type the_program.exe. You can still do that if you want but it is not necessary under Linux.

If you don’t see any errors, it means that g++ was able to compile your source without any problem. After the compiler is finished without any error, you should find a program file the_program in the current directory. Check for this using the ls command, with which you can list directory contents:

$ ls

my_code.cpp myheader.h random.h the_program

and indeed, the last entry in the list shows that the_program is now created. If you want to see file modification times, use ls -l.

If the compiler did finish with errors, the program has not been created. Instead, you probably saw errors rolling over your screen that have now disappeared (especially if there are many errors). To debug your program, you want to have these error messages back. There are three ways to solve this problem. In most cases it is sufficient to scroll back in the terminal program you are using. If that doesn’t work you can redirect the output of the compiler into a program which allows you to scroll up and down (take care to leave no spaces in 2>&1):

$ g++ -Wall -o the_program my_code.cpp 2>&1 | less errors.txt

For the technically inclined - this tells the shell to redirect (the > sign) error output (this is the 2) into standard output (the 1) and then use that as standard input for less (the |). You will end up with a screen full of error messages which you can scroll up and down using the arrow keys. To return to the shell prompt type ’q’. The third option is to store these messages in a file and open that with an editor:

$ g++ -Wall -o the_program my_code.cpp 2> errors.txt


You see that the command is almost the same as the previous one, except for the 2> errors.txt part. In this case the error output is redirected into a file instead of another program.

Now open the file errors.txt. You can use a shell editor for this, for example nano. I normally use vim, but good luck with learning that one.

$ nano errors.txt

nano can not only view but also edit text files for you, but we’ll talk about that later. For now, you can scroll up and down using the cursor keys and so you can inspect the full list of compiler errors. You can ignore any warnings, these are not fatal. After you have inspected the file and know which errrors to repair in your *.cpp-file, close nano by typing Ctrl+X.

6.4 Figure out what the compilation errors mean

Each compilation error is characterized by a source code in which an error has been found an a line number that refers to the line number in the original *.cpp file. No matter how vague the error may look to you, at least looking at the line of code should be informative enough.

my_code.cpp: In function `int main(int, char**)':

my_code.cpp:7: error: `dafasd' undeclared (first use this function)

my_code.cpp:7: error: (Each undeclared identifier is reported only once for each function it appears in.)

Here an error has been found in line 7 of the file my_code.cpp. Note that sometimes, g++ also reports presumable errors in system files. For example, in this piece of source code:

#include <iostream>

#include <cstdlib>

using namespace std;

int main(int argc, char **argv)

{

cout << random(124) << endl;

return(1);

}

g++ complains with the following piece of code:

/usr/include/stdlib.h: In function `int main(int, char**)':

/usr/include/stdlib.h:423: error: too many arguments to function `long int random()'

Strange? You did not touch any file named /usr/include/stdlib.h! Indeed, you didn’t. But the fact is that you wrongly called a standard function random(124) that has originally been defined in /usr/include/stdlib.h. A compiler cannot distinguish between a wrong way of calling a correctly defined function and a right way of calling an incorrectly defined function. In both occasions, g++ will think that the function is wrongly defined and refers to the source file of the function. Anyway, the proper way to call this function would be as


follows: random(). However, given that much better random number generators are at your disporsal, why work with the one from the standard library anyways?

Here is a short list of some common errors detected by g++. I can adjust the list if you provide any additional common error messages. Note again that warnings will not prevent the compilation of a normal executable file. But errors do:

old header files: Do not use iostream.h but use iostream. Do not use stdlib.h, but use cstdlib. For a list of header files which names have changed in C++, see: http://www.cplusplus.com/reference/clibrary/.

local instead of global header files. I have seen several cases where people use #include "iostream". This is incorrect. As soon as you use one of the system’s header files (meaning: the one’s that are not present in your own directory), you have to use #include <iostream> instead.

6.5 Repair errors in your source code

So now you have to repair the errors in your source file (i.e., the *.cpp file). I advise you to do that on your own computer and then to copy the repaired file by using WinSCP. However, you can also edit the file directly by using nano or vim on the HPC. Directly editing on the HPC works generally much faster, but is also more tough to learn. Dive into the manuals of nano or vim for that.

6.6 Compile again (and again...) until all errors are solved

Go through the previous steps repeatedly until all your errors are resolved.

7 Step 5. Run your program to test it

Now, finally has come the moment that you can test your simulation. Assuming that you are currently in the same directory as the program file, you can run your program on the HPC by executing the following command:

$ ./your_program

it should probably run now. Depending on the quality of the code, the program may also crash. The example below shows the Linux way of crashing:

$ ./your program

segmentation fault

If you encounter segmentation faults, and you have not been able to track the error by inserting assert or cout statements in the code, you should debug your program using a command-line Linux debugger such as gdb (the GNU debugger). I am not going to discuss the usage of gdb for now. Instead, I advise you to read chapter 10.3 of the Linux Programmer’s Toolbox by John Fusco on the usage of gdb. I can provide you a PDF copy of that book on request.

If testing the program is successful and it does not crash, i.e., the program finishes and produces the desired output, you can think about putting the jobs on the batch job queueing system for execution by the cluster. Indeed, now we are getting almost there...


8 Step 6. Writing job files

To distribute jobs over the cluster, the HPC uses the program PBS. This program expects from you to upload a file with commands and then executes these commands somewhere on the cluster. So you have to write a file with all the desired commands in it. Here is an example of such a file:

#PBS -N MyImportantSimulation

#PBS -l walltime=06:00:00

#PBS -l ncpus=1

#PBS -j oe

cd simulations

./my_program

./my_program

./my_program

./my_program

The first part of the file is preceded by a hash character # and these are the commands that PBS needs to properly execute the desired jobs. The second part of the file (the part without the # character) are the actual commands. I will now explain this file line by line.

PBS commands

First of all, all the different options and other intricacies of the #PBS... commands can be obtained by opening the manual page of the program qsub, with which you will submit these jobfiles later on. To read this manual page, type:

$ man qsub

which results in a big page of information on the screen. You can scroll through with the cursors and if you want to search something, press a forward slash, followed by a search term: /search_term, in which search_term has to be replaced by the search term of interest. Closing the man page can be done by typing q. Now the list of command options used in the file above:

#PBS -N MyImportantSimulation

Designates the name ‘MyImportantSimulation’ to this batch file. The name can be anything, but is not trivial: later on you can only identify each batch job file by this name and not anymore by its filename. Therefore, choose a unique name.

#PBS -l ncpus=1

Allocates the number of cpus needed for your commands. If you have a multithreading job that needs multiple cpus, then increase this number. For evolutionary simulations, you probably will never use it. Using a single cpu also means that all commands in the second part of the file are only executed in a sequential fashion. Therefore, if you want to run multiple simulations simultaneously (the point of having a cluster), you should make multiple files. More on this later.

#PBS -l walltime=06:00:00

This indicates the maximum time needed in order to finish all the commands in your file (in this case 6 hours). It is necessary to put this in, so that the cluster knows in which queue to put you. If your job lasts very long, you get a specific queue so that other, shorter jobs don’t have to wait for you to finish. If your simulations exceed this maximum time, they


are aborted, so make sure this maximum time is correct. It is called walltime referring to wall clock time (i.e., the actual timescale used by humans as opposed to cpu time used by computers, which is completely different).

In fact walltime and ncpus are only two of a number of so-called resources you can specify with the -l option. See the manual page of pbs_resources for more information.

#PBS -j oe

This redirects both the normal output and the output in case of errors (think of the previously shown segfault) to a single output file. This output file is named after the name of your jobfile (but is different) and put in your home directory after the batch job is finished. Do check those files in the end, since if some runs contain segfaults or other ominous messages, there is something wrong with your simulation program.

Other commands

The second part of the jobfile above are the actual commands to run the simulations. We have already seen ./my_program, which is the command to execute my_program in its current directory. Note that PBS by default always starts in your home directory. In order to make sure PBS starts within the directory that contains your program files, you have to change directories using cd: in this case cd simulations to get to the desired directory (see above). Subsequently, you can start executing the individual programs. Using cd also means that you can traverse over different folders, just as in the old theobio cluster. However, it is now slightly different:

cd folder1

./my_program

cd ../folder2

./my_program

cd ../folder3

./my_program

note the use of the .. in front of folder2,3, etc... with which you go one folder up, to subsequently go one folder down into folder2.

Last but not least, something on using multiple cores: as far as I understand it, each file with commands is exclusively executed on a single cpu / core within the cluster. Thus, the second instance of my_program in the above command list, will only be executed after the first instance of my_program has finished. If you want to run multiple simulations simultaneously (which is the point of running things on the cluster after all), you should make multiple files, each having commands for a different core. Especially if you have many jobs, making many of these files can be tedious, so I advise you to use a scripting language such as Ruby, Python or even R code could produce such things.

9 Step 7. Submitting jobs

Now you have a jobfile, with the filename myjobfile.qsub in my home directory. Now I

submit it to PBS using qsub:

$ qsub myjobfile.qsub

1671157.hpcibm1


you now see that I submitted myjobfile.qsub and that PBS notified me of its submission by printing the job’s number: 1671157.hpcibm1. Now the job is running or scheduled to be run. You can check the job’s status by printing:

$ qstat

but this will give you the status of all jobs at once. We can sort out our own records by using

$ qstat -u kuijper

1671160.hpcibm1 ...2008_10_32_54 kuijper 00:00:00 R long

1671161.hpcibm1 ...2008_10_32_54 kuijper 00:00:00 R long

1671162.hpcibm1 ...2008_10_32_54 kuijper 00:00:00 R long

1671163.hpcibm1 ...2008_10_32_54 kuijper 00:00:00 R long

1671164.hpcibm1 ...2008_10_32_54 kuijper 00:00:00 R long

1671165.hpcibm1 ...2008_10_32_54 kuijper 00:00:00 R long

1671166.hpcibm1 ...2008_10_32_54 kuijper 00:00:00 R long

1671167.hpcibm1 ...2008_10_32_54 kuijper 00:00:00 R long

in which you can replace kuijper with your own username on the HPC. The R’s in the fifth column show that your job is running at this very moment. Other characters indicating status can be found by typing man qstat, with which you get qstat’s help page.

10 Step 8. Bringing the output to your computer

You can see if your job is finished by checking with qstat -u username. If this does not list anything anymore, your jobs are finished and you can copy the results to your computer. Inspect the folder in which the job had to be executed for any output by using ls -l to list files and their sizes. If the list is too large use ls -l | less so that you obtain a browsable list. If there is no output in there, check the home directory. If there is still no output, you have a problem.

If you do have output you can copy it back to your computer in basically the same way as you did it the other way. If you simulations produce huge amounts of data it might pay though to first compress the output. You can check the amount of space a directory uses by typing du -sh directory, everything above a couple of 100 megabytes is worth compressing. Also if you have more than 100 files to copy, coping one single *.zip file back to your computer is much faster than copying all separate files, including the time of compressing and decompressing. You can use zip as a command line tool to do so. If you have a folder simulations to compress within your home directory type:

$ cd ~ # go to home directory

$ zip -r simulations.zip simulations

adding: simulations/ (stored 0%)

adding: simulations/myheader.h (stored 0%)

adding: simulations/random.h (stored 0%)

adding: simulations/the_program (deflated 58%)

adding: simulations/my_code.cpp~ (deflated 18%)

adding: simulations/my_code.cpp (deflated 18%)

Now you can copy simulations.zip to your computer and extract it using the conventional unzipping tools on your computer.


11 Some last tips

11.1 For beginners: try MinGW on your own computer first

If you are new to any command line stuff (i.e., a typical Windows user), a good advice is probably to install MinGW in combination with MSyS on your own computer first. These two programs install a Linux-like command line shell on Windows with a built-in gcc compiler, so you can get acquainted with the peculiarities of command line compiling. MinGW and MSyS are notorious for their incomprehensible websites, so here is the link to the download page:

http://sourceforge.net/project/showfiles.php?group_id=2435. From the whole list on the download page, only download and install the ‘Automated MinGW installer’ and the ‘MSyS base system’. I might embellish this manual with more info on those compilers later.

11.2 Use screen to get multiple ssh shells at once

Try to use screen, with this you can open multiple terminals at the same time and traverse through them so that you can work on multiple things at the same time (i.e., multitasking). Moreover, if your connection gets broken while you are working within screen, nothing gets lost. Just login again to the HPC and type screen -r to get back to where you were before the connection broke down. A short screen tutorial can be found here: http://www.kuro5hin.org/story/2004/3/9/16838/14935. screen is one of the most useful programs for working on the command-line.

11.3 Does your ssh shell lock up after mistakenly pressing Ctrl+S?

Type Ctrl+Q and it should be usable again. Ctrl+S is a relic from the old times in which people phoned in to the internet and serves as the ‘pause’ signal to a Linux terminal. Ctrl+Q ends this pause.

This document was translated from LATEX by HEVEA.


Jun 16 2020



medical-mycology-laboratory-manual 1/6 PDF Drive - Search and download PDF files for free.





Medical Mycology Laboratory Manual

MLAB 1331: MYCOLOGY LECTURE GUIDE

IV Laboratory Methods in Medical Mycology A Collection, handling and processing of clinical mycology specimens 1 Importance 2 Collection - usually by physician or nursing staff a Skin - cleaned with 70% alcohol to remove dirt, oil and surface saprophytes b Nails - ...

9.74MB MEDICAL MYCOLOGY LABORATORY MANUAL As Pdf ...

MEDICAL MYCOLOGY LABORATORY MANUAL review is a very simple task Yet, how many people can be lazy to read? They prefer to invest their idle time to talk or hang out When in fact, review MEDICAL MYCOLOGY LABORATORY MANUAL certainly provide much more likely to be effective through with hard work For everyone, whether you are going to start to

DOCUMENT BEMIRE ED 174 459 TITLE Mycology Guidebook ...

in introductory mycology teaching It is neither a lab-oratory manual for the student nor a compendium of lab-oratory exercises in the usual sense of that term, but assembles information to which the teacher may turn for direct assistance in developing the laboratory aspects of his own course While instructors in ...

HANDBOOK OF MYCOLOGICAL METHODS

Handbook of Mycological Methods 1 Introduction No method is perfect A methodology is a good methodology if it is repeatable, robust, practical, a thorough understanding of its strengths and weaknesses exists and it is applied appropriately A result can only be interpreted through

v01 Policy S, Procedure Manual Section: Mycology Bench ...

Section: Mycology Bench Manual Subject Title: Daily Routine of the Mycology Lab Issued by: LABORATORY MANAGER Original Date: March 22, 2001 Approved by: Laboratory Director Revision Date: October 19, 2004 DAILY ROUTINE OF THE MYCOLOGY LAB 1 Check and record the temperature readings of all incubators, refrigerators, and freezers every morning

Fundamental Medical Mycology

General References for Laboratory Diagnostic Methods in Medical Mycology 69 Selected References for Laboratory Diagnostic Methods in Medical Mycology 69 Websites Cited 70 Commercial Manufacturers and Suppliers of Fungal Media, Stains, and Reagents 71 Packing and Shipping of Infectious Agents and Clinical Specimens 72 Questions 72 3A Antifungal

INTRODUCTION TO MYCOLOGY

INTRODUCTION TO MYCOLOGY The term "mycology" is derived from Greek word "mykes" meaning mushroom Therefore mycology is the study of fungi The ability of fungi to invade plant and animal tissue was observed in early 19th century but the first documented animal infection by any fungus was made by Bassi, who in 1835 studied the muscardine disease of silkworm and

DESCRIPTIONS OF MEDICAL FUNGI - Mycology

Pathologists of australasia (RcPa) Mycology Quality assurance Program (QaP) with a set of description sheets covering medically important fungi a second edition entitled Descriptions of Medical fungi was released in 2007 by David Ellis, Steve Davis, Helen alexiou, Rosemary Handke and Robyn bartley We now provide an updated third

General Microbiology Laboratory Manual

1 Access to the laboratory is limited or restricted at the discretion of the laboratory director when experiments or work with cultures and specimens are in progress 2 Persons wash their hands after they handle viable materials, after removing gloves, and before leaving the laboratory 3 Eating, drinking, smoking, handling contact lenses

Laboratory Manual and Workbook in Microbiology

Laboratory Manual and Workbook in Microbiology Applications to Patient Care 7th Edition Josephine A Morello Paul A Granato Helen Eckel Mizer ISBN: 0-07-246354-6 Description: ©2003 / Spiral Bound/Comb / 304 pages Publication Date: June 2002 Overview This microbiology laboratory manual is designed especially for the non-majors, health science

Fundamental Medical Mycology

Medical Mycology Errol Reiss, H Jean Shadomy, and G Marshall Lyon, III Wiley-Blackwell, Hoboken, NJ, USA, 2011 ISBN: 978-0-470-17791-4 Pages: 656; Price: US $9995 In Fundamental Medical Mycology, Errol Reiss, Jean Shadomy, and Marshall Lyon have produced a valuable new text Drs Reiss and Shadomy are medical mycologists

MEDICAL LABORATORY TECHNICIAN, MLT(ASCP) ...

MEDICAL LABORATORY TECHNICIAN, MLT(ASCP) INTERNATIONAL MEDICAL LABORATORY TECHNICIAN, MLT(ASCPi) EXAMINATION CONTENT GUIDELINE EXAMINATION MODEL The MLT(ASCP) and MLT(ASCPi) certification examination is composed of 100 questions given in a 2 hour 30 minute time frame

05 v02 Policy S, Procedure Manual Mycology Bench Manual ...

PROCEDURE MANUAL TORONTO MEDICAL LABORATORIES \ MOUNT SINAI HOSPITAL MICROBIOLOGY DEPARTMENT Page 13 TML\MSH Microbiology Department Policy & Procedure Manual Policy # MI\MYC\05\v02 Page 1 of 3 Section: Mycology Bench Manual Subject Title: Reporting Issued by: LABORATORY MANAGER Original Date: March 22, 2001

ML 1811 FUNDAMENTALS OF MEDICAL LABORATORY ...

Organization of clinical laboratory - Role of medical laboratory technician - Safety measures - Medical laboratory professional and professionalism in laboratory workers - communication between physician and lab technician - hospital and clinic borne infection and personnel hygiene UNIT: II Common glass wares in clinical laboratory - care and

lecnote fm degree and diploma Med Bacteriology

Text book on Medical Bacteriology for Medical Laboratory Technology students are not available as need, so this lecture note will alleviate the acute shortage of text books and reference materials on medical bacteriology Since it comprises most of the contents of course outline on medical bacteriology to nursing, pharmacy and environmental science

LABORATORY MANUAL OF TEST PROCEDURES FEBRUARY

Manual of Test Procedures, February 2020 This edition completely replacesy 201the 9 LaboFebruarratory Manual of Test Procedures This manual has the current versions of our laboratory test procedures However, if a test was identical to an AASHTO, AST, or MFTP procedure it was not M duplicated in this manual

Chapter 5 - Bacteriology

NWFHS Laboratory Procedures Manual - Second Edition, June 2004 Chapter 5 - Page 3 7 Remove bottle cap and pour plates or dispense with a Cornwall pipette, lifting each petri dish lid as you go Pour approximately 15 to 20 mL per 100×15 mm petri dish Replace lids as soon as the plate is poured 8

Medical Mycology: A Practical Approach, ISSN 0957-025X ...

Medical Mycology: A Practical Approach, ISSN 0957-025X, 1989, Emlyn Glyn Vaughn Evans, M D Richardson, 0199630119, 9780199630110, IRL Press, 1989

Biosafety in Microbiological and Biomedical Laboratories

iv Biosafety in Microbiological and Biomedical Laboratories and not without many bumps and bruises along the way It is through their absolute commitment to quality, technical accuracy, and dedication to the professional practice of biosafety that the 5th edition is born We are truly grateful to Ms

If you ally compulsion such a referred Medical Mycology Laboratory Manual ebook that will provide you worth, acquire the no question best seller from us currently from several preferred authors. If you desire to humorous books, lots of novels, tale, jokes, and more fictions collections are moreover launched, from best seller to one of the most current released. You may not be perplexed to enjoy every book collections Medical Mycology Laboratory Manual that we will no question offer. It is not roughly speaking the costs. Its very nearly what you habit currently. This Medical Mycology Laboratory Manual, as one of the most functioning sellers here will totally be in the midst of the best options to review.

Medical and Diagnostic Mycology Review -- Ramon Sandin, MD Dr. Ramon Sandin reviews the identification, diagnosis, and management of infectious fungi. He covers yeasts and molds that are ...

Laboratory investigation of superficial fungal infections Laboratory investigation of superficial fungal infections including use of culture and microscopy.

Introduction to Clinical Mycology: Part 1 [Hot Topic] Our speaker for this program is Dr. Glenn Roberts, a Professor of Laboratory Medicine and Pathology, and Microbiology, as well ...

Aseptic Technique For more information, visit http://www.bio-rad.com/yt/microbes-and-health. This video demonstrates basic microbiological aseptic ...

Identification of Unknown Fungi Recorded on October 7, 2011 using a Flip Video camera.

Introduction to Microbiology Culture Techniques Nicole Gentile, PhD Candidate, provides an overview of basic microbiology and the concepts involved, including the bacterial ...

Mycology Part 1

Transforming Molecular Testing Through Automation: New Insights and Possibilities

Lab Exercise 1: Introduction to Microbiology

Go Inside a Clinical Microbiology Lab Go inside a clinical microbiology lab at Penn State Milton S. Hershey Medical Center and learn about careers in clinical ...

Ghannoum and Tang - Interactions between the Mycobiome and Bacteriome Impact on Health and Disease To watch this webinar please go to LabRoots at: ...

Introduction to Clinical Mycology: Part 2 [Hot Topic] Our speaker for this program is Dr. Glenn Roberts, a Professor of Laboratory Medicine and Pathology, and Microbiology as well as ...

Introduction to Fungus Class notes.

Fungi: Death Becomes Them - CrashCourse Biology #39 Death is what fungi are all about. By feasting on the deceased remains of almost all organisms on the planet, converting the ...

fungal slide culture This video demonstrates Riddle's slide culture technique to observe undisturbed microscopic morphology of filamentous fungi.

Forest Pathology - transferring fungal cultures Learn how to transfer fungal cultures aseptically to maintain pure cultures.

Introduction to Mycology - Pictures used are courtesy of Samuel Freire da Silva, M.D.(www.atlasdermatologico.com.br) Contact information: Facebook: ...

Radical Mycology Webinar 1: Seeing Fungi The first of two webinars discussing the ecology and environmental importance of fungi, as covered in Peter McCoy's book ...

Introduction to Clinical Mycology: Part 4 [Hot Topics] Our speaker for this program is Dr. Glenn Roberts, a Professor of Laboratory Medicine and Pathology, and Microbiology at Mayo ...

Radical Mycology Mycoremediation Lab at Le Commun in Switzerland In February, 2017 Peter McCoy of Radical Mycology went to Geneva, Switzerland to take part in a month-long exhibition on art, ...

Microbiology: Lactophenol Cotton Blue Technique http://www.biologycourses.co.uk Short video of using a Lactophenol cotton blue stain for identifying fungal elements on a glass ...

Gram Staining For more information, visit http://www.bio-rad.com/yt/1/biotech-lab-textbook. This video demonstrates the Gram staining method for ...

The laboratory of mycology of UCL Les champignons représentent un règne à part entière dans le monde du vivant, impliqués, favorablement ou non, dans bon ...

Introduction to medical mycology – Prof Yee-Chun Chen Professor Yee-Chun Chen is professor of medicine at the National Taiwan University Hospital and College of Medicine in Taipei, ...

Media Prep Explore our free eLearning modules at https://www.ncbionetwork.org/educational-resources/elearning. In order to grow, cells ...

Introduction to Medical Mycology - Ramon Sandin, MD A review of the basic principles of medical mycology.


Identification of Unknown Fungi

Fungal infection/Fungal identification/Fungal culture test procedure/Fungal disease/STAR LABORATORY This video is about #Fungal #Culture in #Mycology , #Sabouraud #Dextrose #agar is used for this fungal culture. I have explained ...

Laboratory Investigation Of Fungal Infection ||Koh , Calcoflour white ,India ink stain|| Microscopy This is a video related Laboratory diagnosis of fungal Infection, having microscopy 1 wet mount 2 stained film under this we have...


Biosafety Manual for Molecular Oncology Laboratory

BIOSAFETY MANUAL FOR MOLECULAR ONCOLOGY LABORATORY

Principal Investigator: Tong-Chuan He, MD, PhD

Co-Principal Investigator: Rex C. Haydon, MD, PhD

The Molecular Oncology Laboratory

SBRI, Rooms J-611 and J-607

Section of Orthopaedic Surgery

Department of Surgery

The University of Chicago

*************************************************************************************************************

Important Phone Numbers

T.-C. He (P.I.): (773) 702-7169 (office); (773) 469-3266 (cell phone).

Rex Haydon (Co-P.I.): (773) 702-5263 (office); (773) 845-6939 (page).

Current Lab Member List and Contact: http://www.boneandcancer.org/ucmolab.html

Biohazards: 2-6296

Carlson ARC Facility: 4-1812

Chemical Waste: 5-7233

EVS/Housekeeping: 2-6296

NSIT: 2-2378

Physical Plant: 2-6295

Radiation Safety: 2-6299

U of C Hospitals Operators: 2-1000

U of C Safety Office: 2-1733

*************************************************************************************************************

Section I: General Guidelines for Biosafety Level-2 Lab Practices

Biosafety Level 2 (BSL-2) vs. Biosafety Level 1 (BSL-1):

Biosafety Level 1 is suitable for work involving well-characterized agents not known to consistently cause disease in healthy adult humans, and of minimal potential hazard to laboratory personnel and the environment. The laboratory is not necessarily separated from the general traffic patterns in the building. Work is generally conducted on open bench tops using standard microbiological practices. Special containment equipment or facility design is neither required nor generally used. Laboratory personnel have specific training in the procedures conducted in the laboratory and are supervised by a scientist with general training in microbiology or a related science.

Biosafety Level 2 is similar to Biosafety Level 1 and is suitable for work involving agents of moderate potential hazard to personnel and the environment. It differs from BSL-1 in that (1) laboratory personnel have specific training in handling pathogenic agents and are directed by competent scientists; (2) access to the laboratory is limited when work is being conducted; (3) extreme precautions are taken with contaminated sharp items; and (4) certain procedures in which infectious aerosols or splashes may be created are conducted in biological safety cabinets or other physical containment equipment.


1


Biosafety Manual for Molecular Oncology Laboratory

The Molecular Oncology Laboratory is a BSL-2 facility. The following standard and special practices apply to agents assigned to Biosafety Level 2:

A. Standard Microbiological Practices:

1. Access to the laboratory is limited or restricted at the discretion of the laboratory director when experiments are in progress.

2. Persons wash their hands after they handle viable materials, after removing gloves, and before leaving the laboratory.

3. Eating, drinking, smoking, handling contact lenses, and applying cosmetics are not permitted in the work areas. Food is stored outside the work area in cabinets or refrigerators designated for this purpose only.

4. Mouth pipetting is prohibited; mechanical pipetting devices are used.

5. Policies for the safe handling of sharps are instituted.

6. All procedures are performed carefully to minimize the creation of splashes or aerosols.

7. Work surfaces are decontaminated on completion of work or at the end of the day and after any spill or splash of viable material with disinfectants that are effective against the agents of concern.

8. All cultures, stocks, and other regulated wastes are decontaminated before disposal by an approved decontamination method such as autoclaving. Materials to be decontaminated outside of the immediate laboratory are placed in a durable, leakproof container and closed for transport from the laboratory. Materials to be decontaminated off-site from the facility are packaged in accordance with applicable local, state, and federal regulations, before removal from the facility.

B. Special Practices:

1. Access to the laboratory is limited or restricted by the laboratory director when work with infectious agents is in progress. In general, persons who are at increased risk of acquiring infection, or for whom infection may have serious consequences, are not allowed in the laboratory or animal rooms. For example, persons who are immunocompromised or immunosuppressed may be at increased risk of acquiring infections. The laboratory director has the final responsibility for assessing each circumstance and determining who may enter or work in the laboratory or animal room.

2. The laboratory director establishes policies and procedures whereby only persons who have been advised of the potential hazards and meet specific entry requirements (e.g., immunization) may enter the laboratory.

3. A biohazard sign must be posted on the entrance to the laboratory when etiologic agents are in use. Appropriate information to be posted includes the agent(s) in use, the biosafety level, the required immunizations, the investigator's name and telephone number, any personal protective equipment that must be worn in the laboratory, and any procedures required for exiting the laboratory.

4. Laboratory personnel receive appropriate immunizations or tests for the agents handled or potentially present in the laboratory (e.g., hepatitis B vaccine or TB skin testing).

5. When appropriate, considering the agent(s) handled, baseline serum samples for laboratory and other at-risk personnel are collected and stored. Additional serum specimens may be collected periodically, depending on the agents handled or the function of the facility.

6. Biosafety procedures are incorporated into standard operating procedures or in a biosafety manual adopted or prepared specifically for the laboratory by the laboratory director. Personnel are advised of special hazards and are required to read and follow instructions on practices and procedures.

7. The laboratory director ensures that laboratory and support personnel receive appropriate training on the potential hazards associated with the work involved, the necessary

2


Biosafety Manual for Molecular Oncology Laboratory

precautions to prevent exposures, and the exposure evaluation procedures. Personnel receive annual updates or additional training as necessary for procedural or policy changes.

8. A high degree of precaution must always be taken with any contaminated sharp items, including needles and syringes, slides, pipettes, capillary tubes, and scalpels.

a. Needles and syringes or other sharp instruments should be restricted in the laboratory for use only when there is no alternative, such as parenteral injection, phlebotomy, or aspiration of fluids from laboratory animals and diaphragm bottles. Plasticware should be substituted for glassware whenever possible.

b. Only needle-locking syringes or disposable syringe-needle units (i.e., needle is integral to the syringe) are used for injection or aspiration of infectious materials. Used disposable needles must not be bent, sheared, broken, recapped, removed from disposable syringes, or otherwise manipulated by hand before disposal; rather, they must be carefully placed in conveniently located puncture-resistant containers used for sharps disposal. Non-disposable sharps must be placed in a hard-walled container for transport to a processing area for decontamination, preferably by autoclaving.

c. Syringes which re-sheathe the needle, needleless systems, and other safety devices are used when appropriate.

d. Broken glassware must not be handled directly by hand, but must be removed by mechanical means such as a brush and dustpan, tongs, or forceps. Containers of contaminated needles, sharp equipment, and broken glass are decontaminated before disposal, according to any local, state, or federal regulations.

9. Cultures, tissues, specimens of body fluids, or potentially infectious wastes are placed in a container with a cover that prevents leakage during collection, handling, processing, storage, transport, or shipping.

10. Laboratory equipment and work surfaces should be decontaminated with an effective disinfectant on a routine basis, after work with infectious materials is finished, and especially after overt spills, splashes, or other contamination by infectious materials. Contaminated equipment must be decontaminated according to any local, state, or federal regulations before it is sent for repair or maintenance or packaged for transport in accordance with applicable local, state, or federal regulations, before removal from the facility.

11. Spills and accidents that result in overt exposures to infectious materials are immediately reported to the laboratory director. Medical evaluation, surveillance, and treatment are provided as appropriate and written records are maintained.

12. Animals not involved in the work being performed are not permitted in the lab.

C. Safety Equipment

1. Properly maintained biological safety cabinets, preferably Class II, or other appropriate personal protective equipment or physical containment devices are used whenever:

a. Procedures with a potential for creating infectious aerosols or splashes are conducted. These may include centrifuging, grinding, blending, vigorous shaking or mixing, sonic disruption, opening containers of infectious materials whose internal pressures may be different from ambient pressures, inoculating animals intranasally, and harvesting infected tissues from animals or embryonate eggs.

b. High concentrations or large volumes of infectious agents are used. Such materials may be centrifuged in the open laboratory if sealed rotor heads or centrifuge safety cups are used, and if these rotors or safety cups are opened only in a biological safety cabinet.

2. Face protection (goggles, mask, face shield or other splatter guard) is used for anticipated splashes or sprays of infectious or other hazardous materials to the face when the microorganisms must be manipulated outside the BSC.

3. Protective laboratory coats, gowns, smocks, or uniforms designated for lab use are worn while in the laboratory. This protective clothing is removed and left in the laboratory before

3


Biosafety Manual for Molecular Oncology Laboratory

leaving for non-laboratory areas (e.g., cafeteria, library, administrative offices). All protective clothing is either disposed of in the laboratory or laundered by the institution; it should never be taken home by personnel.

4. Gloves are worn when hands may contact potentially infectious materials, contaminated surfaces or equipment. Wearing two pairs of gloves may be appropriate. Gloves are disposed of when overtly contaminated, and removed when work with infectious materials is completed or when the integrity of the glove is compromised. Disposable gloves are not washed, reused, or used for touching "clean" surfaces (keyboards, telephones, etc.), and they should not be worn outside the lab. Alternatives to powdered latex gloves should be available. Hands are washed following removal of gloves.

D. Laboratory Facilities:

1. Provide lockable doors for facilities that house restricted agents.

2. Each laboratory contains a sink for handwashing.

3. The laboratory is designed so that it can be easily cleaned. Carpets and rugs in laboratories are inappropriate.

4. Bench tops are impervious to water and are resistant to moderate heat and the organic solvents, acids, alkalis, and chemicals used to decontaminate the work surfaces and equipment.

5. Laboratory furniture is capable of supporting anticipated loading and uses. Spaces between benches, cabinets, and equipment are accessible for cleaning. Chairs and other furniture used in laboratory work should be covered with a non-fabric material that can be easily decontaminated.

6. Install biological safety cabinets in such a manner that fluctuations of the room supply and exhaust air do not cause the biological safety cabinets to operate outside their parameters for containment. Locate biological safety cabinets away from doors, from windows that can be opened, from heavily traveled laboratory areas, and from other potentially disruptive equipment so as to maintain the biological safety cabinets' air flow parameters for containment.

7. An eyewash station is readily available.

8. Illumination is adequate for all activities, avoiding reflections and glare that could impede vision.

9. If the laboratory has windows that open to the exterior, they are fitted with fly screens.

For additional information, please read the NIH guidelines for handling Biosafety Level 2 biohazardous materials (http://www.cdc.gov/od/ohs/biosfty/bmbl4/bmbl4toc.htm).

************************************************************************************************************* Section II: Construction and Use of Recombinant Adenoviruses

The adenovirus used for the AdEasy system is replication-defective. However precautions must be observed. Fully active adenoviruses most commonly cause respiratory illness although they may also cause various other illnesses, such as gastroenteritis, conjunctivitis, cystitis, and rash illness. Symptoms of respiratory illness caused by adenovirus infection range from the common cold syndrome to pneumonia, croup, and bronchitis. Patients with compromised immune systems are especially susceptible to severe complications of adenovirus infection. Although epidemiological characteristics of the adenoviruses vary by type, all are transmitted by direct contact, fecal-oral transmission, and occasionally waterborne transmission.


4


Biosafety Manual for Molecular Oncology Laboratory

Many mishaps can be avoided by being familiar with the protocols before undertaking experiments. Please read the Molecular Oncology Laboratory Protocol Books located in room J-611 prior to working with the recombinant adenovirus system.

In addition to the guidelines for handling Biosafety Level 2 biohazardous materials outlined in Section I, the following precautions apply at all times:

a. Always wear gloves whenever handling cell and tissue culture containers and the virus itself. Double gloves may be needed in the case of injecting viruses into animals.

b. Use the laminar air flow tissue culture hood whenever handling cell and tissue cultures or pipetting the virus.

c. Disinfect comtaminated tips and waste with Wyscodye or bleach (e.g., waste such as used pipettes, pipette tips, microfuge tubes, cell culture flasks will be first soaked in a Wyscodye or bleach containing-beaker for 30 min. and then disposed to biohazard waste container for autoclaving. The work surface area will be disinfected by wiping with Wyscodye or bleach spray, followed by cleaning with 70% ethanol).

d. Clean the pipet aid and pipetman used for the experiment;

e. Properly dispose the disinfected waste into the biohazard bags.

f. Animals which have been injected with adenoviruses should be transported in a isolation container.

g. The virus itself will only be handled in a biosafety level 2 cabinet as outlined in the IACUC protocol. At this time the virus will be in a syringe handled only by the investigators. The used syringe and needle will be placed into biohazard and sharps containers by the investigators.

Additionally, the following frequently asked questions may help you better understand recombinant adenovirus.

What disease could adenovirus cause? Adenovirus is the same virus as the common cold. The virus used in these experiments is deficient in viral replication.

How is it spread naturally? It is spread by aerosols in the air.

When is it present in the animal facility? It will only be in biohazard containers with the exception of intraoperative injections.

How could I be exposed? By needle sticks and actively inhaling aerosols.

What do I do to protect myself? Standard needle stick precautions and careful handling of sharps. Masks or laminar air flow hoods should be utilized when the virus is being handled.

What is an exposure? Direct inhalation of aerosols of virus or a needle stick. What do I do if I am exposed? Please contact Dr. He or Dr. Haydon.

Is it treatable? It is only as treatable as the common cold. Possible illness is very self-limited. Most infections are mild and require no therapy or only symptomatic treatment. Because there is no virus-specific therapy, serious adenovirus illness can be managed only by treating symptoms and complications of the infection.

Should I be tested for it before or after an exposure? No. Adenoviral infections are self-limited in most instances.

5


Biosafety Manual for Molecular Oncology Laboratory

Is there anyone who should not go into a room with this agent? Yes, Severely immunocompromised individuals. For example, individuals with advanced AIDS, transplant patients on large doses of steroids or other anti-immune medications.

NOTE: The following document is the Material Safety Data Sheet of Recombinant Adenovirus Prepared by UCSD Program in Human Gene Therapy, which is recommended to you as a supplemental reading on recombinant adenovirus biosafety.

MATERIAL SAFETY DATA SHEET - INFECTIOUS SUBSTANCES

INFECTIOUS AGENT

Name: Adenovirus type C strain 5 and recombinant vectors based on Adenovirus 5.

Characteristics: Adenoviridae; non-enveloped, icosahedral virions, 75-100 nm diameter, double stranded, linear

DNA genome. Virus is lytic.

Biosafety Level: NIH BSL 2

HEALTH HAZARD

Pathogenicity: Wild type Adenovirus infection varies in clinical manifestation and severity; symptoms include fever, rhinitis, pharyngitis, cough and conjunctivitis. The risk from infection by defective recombinant adenoviral vectors depends both on the dose of virus and on the nature of the transgene. Adenovirus does not integrate into the host cell genome but can produce a strong immune response.

Host Range: Humans are the natural reservoir for wild type Adenovirus 5. Recombinant Adenovirus vectors infect a variety of mammalian cell types.

Mode of Transmission: Wild type virus is spread directly by oral contact and droplet spread; indirectly by handkerchiefs, eating utensils and other articles freshly soiled with respiratory discharge of an infected person. In the laboratory, care must be taken to avoid spread of infectious material by aerosol, direct contact or accidental injection.

Incubation Period: From 1-10 days.

VIABILITY

Drug susceptibility: No specific anti-viral available.

Susceptibility to Disinfectants: Susceptible to 1% sodium hypochlorite, 2% glutaraldehyde. Recommend fresh

solution of 10% bleach for 30 minutes.

Physical Inactivation: Sensitive to heat; 1 hour at 56oC is used to inactivate virus.

Survival Outside of Host: Adenovirus has been reported to survive 3-8 weeks on environmental surfaces at room

temperature.

MEDICAL 

Surveillance: Pre-employment serum samples banked. Monitor for symptoms; confirm infection by serological analysis or viral culture.

First Aid/Treatment: For splashes to the eye of material containing virus, rinse eye at eyewash for 15 minutes then report to hospital emergency room for evaluation. A serum sample should be taken as soon as possible (at UCSD this is done by Occupational Health). In the case of accidental injection of material containing virus, wash area well with soap and water then contact office of Occupational Health for advice, evaluation and serum sample. At UCSD, notify supervisor and EH&S as soon as possible after exposure. Supportive therapy is indicated for symptoms of suspected infections.

Immunization: None available.

Prophylaxis: None available.

LABORATORY HAZARDS

Laboratory- acquired infections: Rare cases reported in laboratories working with clinical specimens.

Sources/Specimens: Respiratory secretions. Theoretical risk from exposure to laboratory cultures of wild type

virus or recombinant virus.

Primary Hazards: Ingestion, droplet exposure of the mucous membranes, direct injection.

Special Hazards: Contact with feces or urine from infected animals for 72 hours post infection.

RECOMMENDED PRECAUTIONS

Containment Requirements: Biosafety level 2 plus UCSD Adeno special practices and BSL 2 containment

facilities for all activities involving the virus, recombinant virus vectors, and potentially infectious body fluids or

6


Biosafety Manual for Molecular Oncology Laboratory

tissues.

Protective Clothing: Laboratory coat, gloves, goggles.

HANDLING INFORMATION

Spills: Allow aerosols to settle for 15 minutes; wear protective clothing and gently cover the spill with adsorbent paper towel and apply freshly prepared 10% sodium hypochlorite starting at the perimeter and working towards the center; allow at least 30 minutes contact time before clean up.

Disposal: Decontaminate all wastes before disposal; steam sterilization, incineration, chemical disinfection. At UCSD contaminated material may be sealed in labeled, doubled, red biohazard bags and transported in covered, leak proof containers to BFI disposal bins for eventual incineration.

Storage: In sealed containers that are appropriately labeled and in approved locations for BSL2 materials at -70C. Transport: Material must be sealed in primary and secondary containers, appropriately labeled.

TRANSGENES AND OTHER FOREIGN GENETIC ELEMENTS

Considerations: What is the replication status of your vector? In general, recombinant Ad 5 vectors produced in the Vector Development laboratory are replication incompetent. What is the nature of the transgene/s - are any potentially hazardous transgenes expressed, i.e.. toxins, oncogenes? Have any foreign elements been introduced which alter the specificity, host range, stability, or titer of the resulting vector? It is imperative that those handling recombinant vectors consider both the nature of the virus used as a vector and the effects of any transgene, introduced genetic elements, or other modification.

*************************************************************************************************************

Section III: Construction and Use of Retroviral Vectors

Retroviral vectors are becoming standard tools in cell biology as well as potential therapeutic agents for human disease. Many investigators have come to believe that retroviral vectors are safe, but current biosafety guidelines and distributors of vectors both recommend using the vectors under biosafety level-2 containment (BSL-2). The safety of retroviral vectors for both introduction into humans and for use in basic research continues to be an important issue.

Production of retroviral vectors has a common strategy, although details may vary. Retroviruses package RNA molecules into virus particles. Normally, the double stranded RNA retrovirus genome is packaged into virions, but retrovirus packaging cell lines (also known as helper cells) are constructed in order to package other RNA molecules. These RNA molecules have limited retroviral sequences and commonly express a messenger RNA of interest (the "vector sequence") as well as a selectable marker such as a drug-resistance gene. A typical packaging cell line is stably transfected with two partial (split) retroviral genomes. One construct contains the gag/pol region that encodes proteins required for virus particle assembly and reverse transcription (copying the double stranded RNA insert into DNA), and the second construct contains the env gene that encodes the proteins needed for virus binding to, and entry into, target cells. The viral RNA encoding these functions is not packaged into virus particles because the RNA sequences needed for binding to gag proteins (the packaging signal, or 4j) have been deleted. The vector sequence containing the packaging signal is transfected into the packaging cells, and inclusion of the packaging signal in the construct insures that the vector sequence is packaged into virus particles.

Virus particles are harvested from packaging cell lines transfected with a vector sequence, and these particles are used to "transduce" the vector sequence (as well as the retrovirus RNA) into target cells bearing the appropriate receptors for the retroviral or other viral envelope expressed on the virus particles. "Transduction" is in essence a one time infection since the viral particles are infectious, but their genetic information is insufficient to generate new infectious virus unless some rare rescue event takes place. Because none of the retrovirus genomes expressed in packaging cell lines is intact, no replication competent viruses are produced unless a rare and

7


Biosafety Manual for Molecular Oncology Laboratory

specific recombination event generates an intact retroviral genome. The virus particles are "infectious" for only one replication cycle. They can bind and enter target cells expressing appropriate receptors, although very low levels of virus entry may occur in the absence of specific receptor binding. The vector sequence is reverse transcribed into DNA, and the two retroviral LTR and the viral integrase mediate integration of the vector sequence into the target cell DNA. The integrated vector DNA becomes a permanent part of the target cell genome, and it is thus possible that rescue of RCR by recombination with endogenous retroviral elements can occur many years after the initial transduction of target cells.

Generation of replication competent retroviruses (RCR) in target cells or tissues is the primary risk associated with the use of retroviral vectors. Assessment of this risk is the primary task in determining the safety of retroviral vectors. The target cell range of the vector is also a safety issue. Incorporation of a virus envelope that can infect cells from multiple species increases the risk of both RCR generation and the potential danger of any resulting virus, which could spread from one species to another.

Another consideration in risk assessment is the nature of the vector coding sequence. Marker genes such as green fluorescent protein (GFP) pose no special risk (unless one is concerned with turning the proverbial green thumb into a literal green thumb). However, vectors that include genes involved in oncogenesis, growth regulation, innate or adaptive immunity, or infectious diseases obviously carry a greater risk. A strong oncogene (e.g., ras) in a vector that is later rescued into an RCR by recombination events would recreate a human version of mouse leukemia viruses. The widespread availability of retrovirus vectors for laboratory use and the generation of “safer” vectors appear to have resulted in a sense of false security, particularly amongst first time users of vectors. Thus, Biosafety level 2 containment and careful monitoring of long-term or animal experiments for the emergence of vector-derived RCR is essential to ensure safety.

In the Molecular Oncology Laboratory, we will only work the widely used and commercially available retroviral vectors (e.g., MoMLV, or Moloney Murine Leukemia Virus, from Clontech). To minimize the possible generation of RCRs, we will use the two plasmid transfection system. Briefly, HEK293 cells will be transfected with the retroviral shuttle vectors containing the transgenes and the retroviral packaging vector, pAmpho. As a result, amphotropic retroviral vectors will be produced so that they can be used to infect both rodent and human cells. No retroviral vectors will be used for direct injections into animals.

Many mishaps can be avoided by being familiar with the protocols before undertaking experiments. Please read the Molecular Oncology Laboratory Protocol Books located in room J-611 prior to working with the retroviral vector system. In addition to the guidelines for handling Biosafety Level 2 biohazardous materials outlined in Section I, the following precautions apply:

a. Always wear gloves whenever handling cell and tissue culture containers and the virus itself. Double gloves may be needed in the case of injecting viruses into animals.

d. Use the biosafety cell/tissue culture hood whenever handling cell and tissue cultures or pipetting the virus. The virus itself will only be handled in a biosafety level 2 cabinet.

e. Disinfect comtaminated tips and waste with Wyscodye or bleach (e.g., waste such as used pipettes, pipette tips, microfuge tubes, cell culture flasks will be first soaked in a Wyscodye or bleach containing-beaker for 30 min. and then disposed to biohazard waste container for autoclaving. The work surface area will be disinfected by wiping with Wyscodye or bleach spray, followed by cleaning with 70% ethanol).

8


Biosafety Manual for Molecular Oncology Laboratory

d. Clean the pipet aid and pipetman used for the experiment;

e. Properly dispose the disinfected waste into the biohazard bags.

Additionally, the following frequently asked questions may help you better understand retroviral vectors.

What disease could retrovirus cause? MoMLV is a murine retrovirus, and no known human diseases have been associated with this virus. However, the risks involving in the use of the retroviral vectors largely depend on the transgenes to be expressed. If potential oncogenic genes are used, special precautions have to be given how to handle the viral vectors.

How is it spread naturally? By direct contact or blood-borne.

When is it present in the animal facility? No retroviral vectors will be directly injected into animals. Rather, only the retroviral vector-transduced cells will be injected into animals.

How could I be exposed? By direct contact with the skin, or internal exposure through cuts or needle sticks.

What do I do to protect myself? Always wear gloves; Handle sharps carefully; Masks or biosafety laminar air flow hoods should be utilized when the virus is being handled.

What is an exposure? Direct contact with the skin, or any internal exposure through cuts or needle sticks.

What do I do if I am exposed? The affected areas will be thoroughly washed with soap and water. Notify Dr. He or Dr. Haydon.

Is it treatable? No virus-specific therapy is available although serious illness can be managed by treating symptoms and complications of the infection.

Should I be tested for it before or after an exposure? No standard tests and/or surveillance methods are available to determine possible retroviral vector infection.

Is there anyone who should not go into a room with this agent? Yes, Severely immunocompromised individuals. For example, individuals with advanced AIDS, transplant patients on large doses of steroids or other anti-immune medications.


9


Apr 18 2020



japanese-jiu-jitsu-training-manual 1/5 PDF Drive - Search and download PDF files for free.





Japanese Jiu Jitsu Training Manual

McMahon Brazilian Jiu-Jitsu

Brazilian Jiu-Jitsu Training Manual Welcome to McMahon Brazilian Jiu-Jitsu (MBJJ) Brazilian Jiu-Jitsu, also known as Gracie Jiu-Jitsu, is a variant of traditional Japanese Ju Jutsu that was developed in Brazil during the first half of the 20th century by the Gracie family

THE ULTIMATE GUIDE TO JIU-JITSU BRAZILIAN

THE ULTIMATE GUIDE TO BRAZILIAN JIU-JITSU Rorion Gracie (top) choke hold gets the job done a lot faster, and with a lot less effort Another thing missing from Gracie jiu-jitsu is adherence to Oriental etiquette and traditions For example, in Gracie jiu-jitsu, nobody bows “That’s a part of Japanese culture,” Rorion Gracie says

Nokido Ju-Jitsu & Judo Student Handbook

Nokido Ju-Jitsu & Judo Student Handbook North Port, Florida Shihan Earl DelValle HISTORY OF JU-JITSU AND NOKIDO JU-JITSU Japanese Ju-Jitsu grew during the Feudal era of Japan and was expanded by the Samurai Warriors became a certified Wolfpack Brazilian Jiu-Jitsu affiliate and training ...

ICMAUA: CMAPM-MCJJ-DW-201006 Military Combat Ju-Jitsu

The Military Combat Ju-Jitsu system was created using only the most effective techniques found in Traditional Japanese Jujitsu, Judo, Aikido, Brazillian Jiu-Jitsu, Russian Sambo Combat Wrestling, Muay Thai, Kenpo Karate and the US Army Combatives Fighting System The Military Combat Ju-Jitsu system Was created for one purpose, Survival and

Manual Official Copy - RMNU South Tampa Jiu-Jitsu Academy

In the early 1990s, when competition jiu-jitsu was starting to become popular in Rio, a new team was founded, joining the two zones of the city Carlson Gracie (Carlson is the eldest son of Carlos Gracie, the founder of Brazilian Jiu-jitsu) pupil Andre Pedeneiras (a black belt ...

About the tutorial

Brazilian Jiu Jitsu i About the tutorial Brazilian Jiu Jitsu is a form of martial arts It requires not only physical strength, but also presence of mind to dominate your opponent in the field

The Secrets of Jujitsu - thortrains.net

The Secrets of Jujitsu A Complete Course in Self Defense Columbus, Georgia, 1920 By Captain Allan Corstorphin Smith, USA Winner of the Black Belt, Japan, 1916 Instructor of Hand-to-Hand Fighting, THE INFANTRY SCHOOL, Camp Benning, Columbus, Georgia and at United States Training Camps and Cantonments, 1917 and 1918 STAHARA PUBLISHING COMPANY

CLASSICAL MARTIAL ARTS CENTRE

1 CLASSICAL MARTIAL ARTS CENTRE TToorroonnttoo CCeennttrraall RReeggiioonn H assuu,, ,SSaakkuurraa, && EEnnzzann DDoojjoo KARATE-DO & JIU JITSU KYU MANUAL

Obukan Judo Dojo Teacher’s manual

The purpose of this manual Various instructors have taught the “beginner class”, all with their own strengths and weaknesses already devoted to training others Judo is a martial art which is may also be practiced as a sport It was derived from the ancient Japanese martial Art of Jujutsu (sometimes called jujitsu) The techniques

JUJITSU – LES 20 TECHNIQUES IMPOSEES

JUJITSU –- LES 20 TECHNIQUES IMPOSEES Page : 6 3 - MAE-DORI-KUBI Saisie à deux mains de face au cou De face, Uke tente de saisir Tori à la gorge

Goju Ryu Karate Do

Goju Ryu Karate Do Therefore, this training manual is not intended to replace constant, regular training in a karate dojo under the guidance of an experienced Black Belt instructor Japanese, Okinawan and Chinese Martial Arts over the centuries Now that Karate is ...

Jujitsu Training Guide - Ultimatesecuritycourse

JuJitsu or Jiu Jitsu is a demanding Martial Art It's important to engage in appropriate training for Success using Jiu Jitsu Techniques Bruce Lee - My Martial Arts Training Guide Jeet Kune-Do $1999 Jeet Kune-Do is Bruce Lee's own style of Kung-Fu and in this book he tells exactly how to train Martial arts of the Japanese samurai

Unlocking BJJ - Training in the Weapon Arts of Southeast Asia

Unlocking BJJ - Taking Your Grappling Game To The Next Level The Beginning of Your Journey in Brazilian Jiu Jitsu By Roy Harris Each year, hundreds of new students begin their journey in Brazilian Jiu Jitsu Many of them start off by learning all kinds of new and exciting techniques Some start off by learning cool things like

USJJF BRAZILIAN JIU-JITSU RANK REQUIREMENTS

USJJF BRAZILIAN JIU-JITSU – PROMOTIONAL REQUIREMENTS FOREWORD Technical Excellence in Martial Arts training is one of USJJF's top priorities As Leaders in the Martial Arts, it is our sacred responsibility to ensure that all of our students receive the best and publish a comprehensive training manual and videos for the USJJF-BJJ System

Handbook for Aikido

Dojo training hall Shomen the front of the Morihei Ueshiba, the founder of Aikido, is known to Aikido students as O’Sensei Sempai senior student, one who began Aikido before you Kohai junior student, one who began Aikido after you Aikikai Aikido Foundation Japanese umbrella organization headed by the Doshu a descendent of Morihei Ueshiba

BJJ Secrets for MMA

cross training Of course I believe that jiu-jitsu is the most efficient martial art out there If you separated them and you had the clash of the styles between equal physical abilities then jiu-jitsu would win 100% of the time Royce Gracie proved this long ago But jiu-jitsu is different from MMA, and MMA is a different world now If you don

Martial Arts of the World - Weebly

Martial Arts of the World: An Encyclopedia v Contents Volume 1: A–Q Africa and African America, 1 Aikidô, 12 Animal and Imitative Systems in Chinese Martial Arts, 16 Archery, Japanese, 18 Baguazhang (Pa Kua Ch’uan), 23 Boxing, Chinese, 26 Boxing, Chinese Shaolin Styles, 32 Boxing, European, 44 Brazilian Jiu-Jitsu, 52 Budô, Bujutsu, and

MARTIAL ARTS B4096 SM - YMAA

Belt Magazine with Brazilian jiu-jitsu master Renzo Gracie This is Andrew’s first book occur through reading or following the instructions in this manual The activities, physical or otherwise, described in this manual may be too strenuous or dangerous for some people, and Other Japanese Martial Arts 8 Professional vs Amateur Sumo

JIU-JITSU.NET E-BOOK - The Free Information Society

JIU-JITSUNET E-BOOK Samples from Brazilian Jiu-jitsu, The Master Text and Brazilian Jiu-jitsu, Basics By Gene "Aranha" Simco WARNING The techniques presented in this book are dangerous Before you begin your Brazilian Jiu-jitsu training, you should consult a physician You and your partner should always communicate with each other and stop

UNITED STATES ARMY COMBATIVES COURSE 1/29 Infantry ...

Primary Purpose of ACP Training: To enhance battlefield survivability and cultivate W arrior Ethos Also one of Kano’s top students, he t raveled to Brazil to establish Japanese immigrant colony with the help of Gastao Gracie Taught Jiu -Jitsu to Gastao’s sons Carlos and Helio eventually propelled the 75th R&D Team to look at

Recognizing the way ways to acquire this ebook Japanese Jiu Jitsu Training Manual is additionally useful. You have remained in right site to start getting this info. get the Japanese Jiu Jitsu Training Manual colleague that we offer here and check out the link.

You could buy guide Japanese Jiu Jitsu Training Manual or get it as soon as feasible. You could quickly download this Japanese Jiu Jitsu Training Manual after getting deal. So, behind you require the books swiftly, you can straight get it. Its for that reason unconditionally easy and for that reason fats, isnt it? You have to favor to in this impression

How To Learn Japanese Jiu Jitsu This guide shows you How To Learn Japanese Jiu Jitsu. Subscribe!

jujitsu complete Kevin Pell Hanshi , 8th Dan black belt, is the founder of Ishin Ryu Ju-Jitsu - a worldwide organization with over 11000 students.

Intro to Brazilian Jiu-Jitsu: Part 2 -- The Basics I This is the first in a series of videos about Brazilian jiu-jitsu. In this video, third generation Brazilian Jiu-Jitsu instructor Rener ...

Japanese Ju Jitsu A tiny portion of JJJ filmed on a phone with no planning and mostly one take for BKR Jujitsu Liverpool @bkrjujitsu.com.

Black Belt exam (Shodan) Japanese JuJitsu - JuJutsu - JiuJitsu & flying scissors (check at the end) Dojo: Ju Jitsu Etterbeek https://www.jujitsu-etterbeek.be/ Here are some of the 85 moves regrouping self defense and traditional ...

The Differences Between Japanese Jiu-Jitsu and Brazilian Jiu-Jitsu JJJ ¬ BJJ | Jiu Jitsu is a Japanese martial art that has existed for hundreds of years,though it's offshoot Brazilian Jiu Jitsu has received plenty ...

The First Five Submissions You Need To Know | Jiu-Jitsu Basics More detailed instruction at Patreon.com/KnightJiuJitsu It is hard to narrow down, but these are, in my opinion, the first five ...

Brazilian Jiu-jitsu or Japanese Jujutsu ? Should you do Brazilian Jiu-jitsu or Japanese Jiu-jitsu? That's the BJJ related question I was asked recently by Martin who's ...

Japanese Jiu Jitsu VS Brazilian Jiu Jitsu. Whats the difference? Lets take a look at the history of Japanese and Brazilian Jiu Jitsu and find out the roots of rolling.

Real World Jujutsu A few Jujutsu techniques taught at Cantu's Texas Jujutsu Academy.

The Soul of Jiu Jitsu Read Nic's bestselling book on jiu jitsu, The Black Belt Blueprint https://bit.ly/2EldiDP See More at Nic's online Jiu Jitsu dojo, The ...

Joe Rogan - The History of Jiu Jitsu Joe Rogan and Daniele Bolelli on the history of japanese jiu-jitsu.

Japanese Jiu-Jitsu A Jiu-Jitsu interview with Nick Tanner

Achievement

- First Dan Senior Primary Instructor.

- Vandori National - Silver ...

Jiu Jitsu in Japan: Episode 2 #Bradventures Training at Isshin Jiu Jitsu Academy Breakfast Fish: #TeamChill started the day right with a healthy breakfast of fish, fish & more fish. We explored the Tsukiji market for ...

JuJutsu Martial Arts Training / Traditional Japanese Class A traditional japanese jujutsu class training session showcasing what's involved in this traditional martial art. A traditional Jujutsu ...

BJJ black belt vs Japanese Jiu Jitsu black belt 2019 NAGA Cincinnati Match against a FAKE jiu-jitsu black belt. IG: Hebrewheartthrob FB:https://www.facebook.com/RobbyMalof/ ...

Fundamental Strikes of Jujutsu Often overlooked by traditional Japanese schools these are the fundamental strikes of the Jujutsu Federation ...

Jiu Jitsu For Dummies - An Introduction To Brazilian Jiu Jitsu Watch our Special FREE Tutorials at http://www.mmaleech.com/free-stuff/ Go to our Facebook page for the latest trends in BJJ and ...

Japanese Jiu Jitsu Tournament from 1995 This tournament allowed striking, throws and all sorts of submissions. Competitors came from karate, judo, muay thai, sambo and ...


ssd 690 manual


Ssd 690 Manual




Page 1


ssd 690 manual


Page 2


ssd 690 manual


Please create account

to preview this

document



Page 3


ssd 690 manual


Please create account

to preview this

document



Page 4



Master’s Degree

* THESIS

* RESEARCH PROJECT

* CLINICAL PROJECT

INFORMATION


1


All School of Nursing Master’s Degree Plans of study must include one of three options: a research project, a clinical project or a thesis. The project/thesis is a faculty-guided scholarly experience that provides evidence of critical thinking, ability to integrate information, and understanding of research. A comparison of the requirements is presented on the following page. The Purdue University School of Nursing has established a timeframe to assist you in meeting deadlines for your project or thesis. The time frames are located of the SON web page. It is your responsibility to make sure that the time frames are met in order to graduate in a timely manner.

Purdue University School of Nursing faculty enhances the nursing profession through research programs focusing healthcare of adults and children, systems engineering and evidence-based practice.

* The first part of your research education involves completion of two required courses: NUR 51000 (Nursing Research) and a Statistics course at the 300 level or above.

* Prior to starting any research project, you must complete the Collaborative IRB Training Initiative for Investigators and Key Personnel (CITI) at https://www.citiprogram.org/default.asp.

The Purpose of Research in the Master’s of Nursing Curriculum

Research and research utilization are integral parts of evidence-based nursing practice. Master’s prepared nurses should understand the importance of evidence-based practice in nursing and be able to facilitate evidence-based nursing in their own practice. Master’s prepared nurses are frequently expected to help write clinical nursing standards and guidelines for practice settings that reflect current research findings. Many master’s prepared nurses also participate as members of a research team or conduct small research or research utilization projects.

As an advanced practice nurse with a master’s degree, you will be able to:

1. Demonstrate knowledge on the protection of human subjects.

2. Utilize information systems for the storage and retrieval of data/information.

3. Demonstrate how to carry out a project through problem identification, project development, implementation, and evaluation.

4. Demonstrate, in writing and orally, how to present a project using appropriate tables, figures, references, and bibliography.

5. Develop strategies to incorporate research/ best practices into clinical practice.

The Difference between a Master’s Project and a Master’s Thesis

The master’s thesis is an independent research project that includes designing a study and performing the aspects of the research process. The thesis addresses a theory or knowledge gap, and results in clearly defined new knowledge that is original. The thesis may be qualitative, quantitative, or historical in nature. The finished product is written in the official “thesis” format. The format is determined by the Graduate School. A thesis generally takes 2 semesters to complete and is registered under NUR 698 (6 credits).

2


The research project is a scholarly process to explore through data collection and analysis, a clinically relevant problem in nursing. The project is written in a research format. It is expected that the research project will be ready for submission for publication. However, it is not a requirement for your degree that the project be published. Submission is usually completed after the conclusion of the project, often with additional help from the committee chair or members, who may be co-authors.

The clinical project is a scholarly process that addresses a theoretically and clinically relevant problem in nursing practice. The project examines the most current evidence and applies it to a clinical situation. The project is written as a manuscript. It is expected that the manuscript will be submitted for publication.

THESIS

The Process of Writing the Thesis

If you elect the thesis option, it is your responsibility to follow all the guidelines and use the graduate school approved thesis format. The material covered in the Graduate School Policy and Procedures Manual for the thesis, are located at http://www.gradschool.purdue.edu/downloads/GraduateSchoolPoliciesandProceduresManual .pdf, and will not be repeated in this document.

See additional information refer to pages 8-13

RESEARCH PROJECT 

A. Types of Research Projects

There are several different types of research projects that are accepted by the School of Nursing. For all types of projects, the student first identifies a research problem in an area of interest, reviews and summarizes the literature dealing with this problem area, and refines the problem statement. The student then investigates the problem. A project could consist of:

* Gathering data in the context of a larger project being carried out by a faculty member or other researcher. The student indentifies a research question related to the larger study, reviews appropriate literature, and collects, analyzes, evaluates, and reports that data.

* Analyzing an existing data set, usually as part of a larger study by a faculty member, or a secondary analysis on a published data set. The student identifies a research question, review appropriate literature, and analyzes and reports the data and identifies gaps in the evidence or knowledge base for practice.

* Investigating a historical problem or event related to healthcare. The project would include the historical context, significance, methodology and sources used, and narrative findings.

B. Identifying a Topic for the Research Project

3


The earlier you identify the topic for your research project, the easier it will be for you to complete your work on the schedule you have chosen. You will be asked to identify your project topic the first semester that you are in the program.

Students are encouraged to use assignments from courses in the graduate Nursing Core to develop ideas for the project. If you have identified a general interest and possible topic, you can become familiar with the literature in the area, clarify the concept, etc. However, the assignments completed for these courses are not the same as the research project proposal. At the minimum, students will need to rework the assignments before they are considered an appropriate proposal.

There are many different ways to identify a project advisor and a topic:

* You may discuss project ideas with your academic advisor and find that this person is willing to work with you on a project arising from your own clinical interests.

* Your faculty academic advisor may recommend that you work with a particular faculty member who shares your interests.

* List of faculty research interests can be found on the School websites

http://www.nursing.purdue.edu/directory/?menu=listtype&type=faculty&departmentnumber=1337

C. The Process of Writing the Research Project

* Identify a general area of interest and a faculty advisor with expertise in this area who agrees to work with you. This faculty advisor will become your committee chair.

a) Clarify availability of the faculty over the period you will be working on the project (whether available during the summer, etc.)

b) Develop a timetable and identify which semesters you will register for the research project hours (NUR 59800 – 3 credits).

* Identify the type of project and a research question with your advisor.

* Write a draft of your proposal (parts of the proposal may be done in conjunction with NUR 51000 Nursing Research).

* Review the proposal with your advisor and revise as recommended.

* In consultation with your advisor, identify two other committee members, and ask them to be on your committee.

* Submit the Research Project Proposal Form to your advisor.

* After discussion with your advisor, make the appropriate revisions and distribute the revised proposal to all committee members. Committee members may approve your proposal or in most cases may want to schedule a meeting to discuss the proposal before approving it. If your committee decides to meet, you will need to schedule the meeting and reserve a room.

* If Institutional Review Board (IRB) approval is needed, you will work with your committee to submit the appropriate forms to the Human Research Participation Protection Program. The chair of your committee will be listed as the primary investigator. Do not proceed with any type of recruitment, data collection, or analysis until you receive written approval from the IRB. If data


4


will be collected at another institution with its own IRB, you must receive approval from the institution’s IRB in addition to Purdue’s IRB prior to beginning the project.

* Complete the project.

* Write a complete draft of your project, submitting completed sections for review to your committee chair according to the schedule you have agreed upon.

* Submit the draft of your project to your committee and schedule a meeting to discuss it. Be sure to reserve a room for the meeting and bring the completed Graduate School Form 7 ready for signatures. The Graduate School Form 7 is prepared by the graduate secretary/

* After the committee meeting make any requested revisions and meet again if necessary.

* Submit your completed project to your committee chair for approval and signature.

* Have the project bound. The graduate secretary can assist you in locating vendors to bind your reports.

* Submit 2 copies of your completed bound project and 1 electronic version of your completed project to the School of Nursing Graduate Office.

* Consider opportunities to disseminate project findings via poster presentation, journal article, or other forum.

Additional Considerations:

* In the semester prior to the semester that you intend to graduate, be sure to submit a Plan of Study before the deadline. This will often be the semester in which you finish your project.

* Determine the date that the final project needs to be submitted in order to meet graduation deadlines. Follow the time frame located on the School of Nursing Web page.

Research Project Components

1. Title Page

Acknowledgements

2. Table of Contents

a. Chapter I

I. Introduction

II. Problem

III. Significance

IV. Definitions

V. Purpose – Research questions/specifications

b. Chapter II

I. Theoretical/Conceptual Framework

II. Review and analysis of the literature

c. Chapter III

I. Methods

a. Design

b. Sample

c. Instrumentation

5


d. Methods

d. Chapter IV

I. Results

e. Chapter V

I. Discussion of Results

II. Implications

III. Limitations

IV. Future Area of Research

V. Conclusions

References

Appendices

CLINICAL PROJECT

Clinical Project: The clinical project consists of the submission of a clinical manuscript to a professional peer-reviewed journal. The student will identify a clinical condition which they choose to explore in depth throughout the program. This manuscript will be a culmination of completed work throughout the curriculum.

A. Types of Clinical Projects:

* Systematic Review of a clinical concept/ clinical condition

* Best Practices of a Clinical Condition

B. Illustration of the incorporation of a clinical project through the curriculum

Course

Potential Project Assignment

NUR 50000 Theoretical Constructs in Nursing

Identify a conceptual model that would be useful in understanding the chosen condition

NUR 50200 Pharmacotherapeutics in Primary Care

Identify the pharmacological treatment of the chosen condition

NUR 50300 Advanced Health Assessment

Identify the appropriate assessment including physical, emotional, and spiritual assessment. Appropriate laboratory assessment and any other assessment paramet4eers to the condition should be identified

NUR 50500 Sociocultural Influences on Health

Identify the sociocultural aspects of the selected condition

NUR 50700 Physiologic Concepts for Advanced Nursing Practice

Identify and describe the physiological mechanisms of the identified condition


6



Course

Potential Project Assignment

NUR 51000 Nursing Research

Conduct a review and analyze literature related to the selected condition

NUR 51100 Health Promotion for Advanced Nursing Practice

Identify appropriate health promotion/ disease prevention aspects related to the selected condition

NUR 52800/ NUR 53200 Acute Illness ( Pediatric and Adult)

Identify treatment options based on clinical evidence or best practices related to the chosen condition


C. Clinical Research Components: The manuscript will be submitted in accordance with the author guidelines for the selected peer-reviewed journal.

D. The Process of Writing your Clinical Project

1. Identify the clinical problem

* Be specific

* Make certain that your clinical problem is focused enough to be presented concisely in a manuscript

2. Submit the assignments that have been completed prior to your first committee meeting

* Provide the assignment that has faculty feedback from the course

* Provide the revised paper where the feedback has been incorporated

3. Identify a journal for publication

Provide author guidelines to the committee

4. Outline a time frame that will guide your final project

5. Discuss authorship: Who will be included and order of authorship

It is expected that the student will exhibit leadership qualities by leading the team in the manuscript development process and thus will be first author. See authorship guidelines posted on the Graduate website.

6. The lead author will work closely with the committee in the preparation of the final manuscript.

7. The manuscript will not be submitted until the project chair signs the appropriate Manuscript Release Form located on the School of Nursing Web page.


7


FOR ALL PROJECTS AND THESIS

The Masters Committee

The committee for the thesis/research project consists of three members: the chair and 2 other members. All members of the committee must have Graduate Appointment Status. One committee member may be external to the School of Nursing. You must keep in close working contact with your committee and establish regular meeting times.

Writing a Proposal for Your Project

You will learn the components of a proposal when you take the Nursing Research (NUR 51000) course. You can also consult with the faculty person who may eventually chair your committee as you work through the details of your project.

The length of proposals can vary. Students may find they need to rework their proposal several times to achieve clarity, brevity, and completeness.

Proposals must be succinct, direct, and free of jargon. All proposals are written in the future tense. Thus, statements should be stated as, “this proposed study will collect data using..” or Results of this study will be used to ....” Also, the proposal should be written in third person, and it is seldom necessary to refer to oneself in a formal paper. A writing style that does not include a personal identification (“I”, “we”) or a given name (“Jane Doe”) should be used. If absolutely necessary, an appropriate third person term such as “this researcher” should be used. APA style must be used, including tables, headings, and the reference page.

A formal meeting is required to approve the project proposal. The meeting will include the committee chair, the other committee members, and the student. The student is to provide a copy of the proposal to each committee member at least two week priors to the meeting. A date is agreed upon and a two-hour block of time should be reserved, although most meetings require much less than that. You should give your committee members at least 2 weeks to review your proposal before the meeting.

It is your responsibility to reserve a room for the meeting and let the committee members know the date, time, and location for the meeting. The graduate secretary can help you reserve most conference rooms. Before you come to the meeting you should prepare a 5-10 minute presentation of what you propose to do and why. Usually, the committee chairperson will begin the meeting by asking you to briefly describe your research question and plan. Then the three members will discuss what issues they feel are important. You need to keep a careful record of the discussion. You can expect the committee to discuss the merits of your research question, the strengths and weaknesses of your approach to answering the question, any realistic and feasible changes they think you could make to improve it, and the limitations of what you are doing that cannot be reasonably overcome. They will also discuss any ethical and privacy concerns and the need for appropriate approvals and clearance, including Institutional Review Board (IRB) and/or Health Insurance Portability Accountability Act (HIPAA) approvals. Make sure you bring the Committee Meeting Form located on the SON web site with you for the committee to complete

8


At the end of the meeting, the committee may approve the proposal as it is or with changes. The changes may be minor or they may ask for substantial changes and want to meet again after you make those changes. Sometimes they will agree on fairly extensive changes and have you discuss the changes with the project advisor rather than having a second meeting. You need to make sure that several things are very clear at the end of the meeting:

* What changes you need to make

* The approval process for the proposal once you have made the changes

* When you can submit your papers for IRB/HIPAA approval

* When, once IRB/HIPAA approval is obtained, you can begin your study

Statement of Purdue University Policy: Human Subjects and Ethical Considerations:

“To ensure the safe and ethical conduct of research involving human subjects at Purdue University, all Purdue faculty, staff, and students who wish to participate in the conduct of research involving human subjects must be familiar with and understand the underlying ethical principles, federal and state laws and regulations, and policies and procedures that compose Purdue University’s Human Research Participants Protection Program (HRPPP). To document the necessary familiarity and understanding, all Purdue faculty, staff, and students who wish to conduct research involving human subjects must be certified as having completed appropriate formal training and education before an application and protocol in which they are named will be approved or determined exempt by one of Purdue University’s Institutional Review Boards, or one of their designated subcommittees.

This education policy applies to all Purdue University principal investigators, extension educator investigators, and key project personnel, including graduate students, as well as undergraduate students, non-Purdue research personnel, and consultants who interact with subjects who participate in research involving human subjects that is reviewed by a Purdue University Institutional Review Board or one of its designated subcommittees or by another institution’s IRB under an inter-institutional cooperative agreement with Purdue University regardless of the location where the research is to be conducted and regardless of the source of funds supporting the research.”

The IRB office is located in YOUNG Hall, Room 1032. The IRB forms are found at the website of http://www.irb.purdue.edu/forms.shtml.

The procedure for submitting IRB forms is:

* Discuss your study and the type of review it requires and any special ethical considerations with your research advisor

* Fill out the forms and have your advisor approve and sign them

* Give the signed forms to the School Head for signature

* Take the signed forms to the IRB office

When you submit forms to the IRB, we recommend that you hand-carry them to the office.


9


You cannot proceed with your data collection until you have written notification of IRB approval. You should give a photocopy of your IRB approval letter to your committee chair .

Keeping on Schedule

When you are developing the schedule for your project, be sure to leave enough time at the end for writing and revising the paper. Unlike a course paper, your project will need to be revised until it is acceptable to your committee. This takes time, because after you prepare a draft, you have to give your committee members a reasonable amount of time to read it ( a minimum of 2 weeks); and then you will almost always need to make revisions. It is probably wise to allow for at least 2 or 3 fairly extensive revisions and a final editing. Make sure you reference the graduation timeline located on the School of Nursing web page keep yourself on track for your planned graduation date.

Remember that the timely completion of your project is YOUR responsibility. This includes identifying a project and faculty person to work with, persisting in working on the project through completion, and staying in touch with your committee chair along the way.

Writing the Project

There are several strategies that can help you in writing the project. What you’ve already written in your proposal forms the basis for your final project. You will need to review what you’ve already written, incorporate recommendations from your advisor or committee, and update and edit your work. The final product describes what was done, the findings, and the conclusions. The tense found in the proposal is changed from future (what is the plan) to past (what was done). Any deviation from the proposal must be noted and explained.

You may want to examine articles of similar format in the journal in which you hope to publish. It is a good idea to divide your writing tasks into smaller parts, and focus on only one part at a time. Sitting down to “write up your project” is an overwhelming task. However, describing the demographic characteristics of your sample and making a summary table is a task you could complete in a day.

You want to make sure that you have established who might be co-authors on your manuscript. It is expected that the student be the first author. However, you may want to have faculty to assist you in this process and include them as co-authors. There are guidelines on the School of Nursing web page for determining authorship (See Authorship Guidelines).

Perhaps the hardest part for most students is writing the discussion section. You may wish to discuss this with your peers. A simple way to approach discussion is to write what you found, why it is important, what it means in terms of existing research, and the implications of your findings for future research and for clinical practice. The limitations of your findings are also addressed. Consultation with your committee chair is especially helpful during this phase of the project.


10


Keeping in Touch with Committee Members

The most common way committees operate is for you to work primarily with your committee chair. Usually, the two of you will set up regular meetings so that you can continue to make progress. You show initial drafts to your project advisor and make revisions based on that person’s comments. When your chair thinks that your project is ready, you will give a copy to your committee members and arrange a meeting to review the entire project. It is your responsibility to initiate meetings with your committee chair, not your committee chair’s responsibility.

The Complete Project Approval Meeting

The procedures for the final committee meeting are very much like the proposal meeting. The date for the final presentations is set in advance by the School of Nursing and is located on the School of Nursing Web Page. You will give each member a draft of the project at least 2 weeks before the meeting. You will present a 15-minute oral summary of your project and its significance or implications for theory, future research, clinical practice, and/or health policy.

Before you come to the meeting, be sure to have Graduate School form 7 typed and ready to be signed. This form is on our website or can be obtained from the Graduate Secretary.

During the meeting you will begin with an oral summary of your project. Handouts, overhead transparencies, or PowerPoint presentations may be appropriate (you can discuss this with your project advisor before the meeting). Then, the committee members give their comments. Sometimes they will go through page by page, or sometimes each person will discuss all his/her comments and concerns at once. They may also ask you more questions regarding the purpose and overall implications and limitations of your project. Often you will discuss publication and dissemination of your findings.

Then the Graduate Committee will discuss the project. The entire project will be available for review by this Committee. A consensus vote will be taken. The committee has three options: they can accept the project as is; they can ask for minor revisions to be done but go ahead and approve the project pending these changes; or they can ask you to make specific changes and review these changes before the project is officially approved. Generally, the second option is used only for minor or straight forward changes such as table format, grammatical corrections, and the like. If substantive changes are necessary, the committee will determine whether these changes are extensive enough to require another meeting. If not, they may all want to see the revised version but not meet, or they may delegate one person, usually the project advisor, to oversee the revisions. When all of the requested changes have been made, the members will sign the approval form.

Grades for NUR 598/698

Performance will be graded using the following scale:

* Satisfactory – used when the student has met or exceeded requirements

* Unsatisfactory – used when the student has not met the requirements and has not invested appropriate amount of effort

11


? Incomplete – used when the student has invested appropriate amounts of satisfactory effort but the

project is not yet finished

Final Process

When the final project is complete and your committee members have signed the Graduate School Form 7, you need to take the completed project along with the Form 7 to the Graduate Secretary.

After your committee and the School Head have signed your Form 7, return it immediately to the Graduate Secretary. Submit 2 copies of your bound project to the School of Nursing, and one electronic copy where it will be kept in the Graduate Office (the project can be bound at Printing Services Building PRNT or at the Boilermaker Copy Center in the Purdue Memorial Union. You should also keep a copy for yourself. A copy of the project (either bound or electronic) should be given to each committee member. Make sure you ask your members what format they prefer.

Graduation Deadlines

There are two deadlines that you must consider when preparing for graduation: the deadline for submitting your “Graduate School Form 7” and the deadline for submitting your completed, approved project.

If you want to officially graduate in a particular semester, you must let the Graduate Secretary know by the last day to declare candidacy for degree date. This date will be early in the semester, usually in the second or third week.

The absolute deadline for submitting your completed, approved, bound project is posted on the Graduate School Website.

The deadline for submitting a thesis is several weeks earlier; check the Graduate Schools website for dates.

Disseminating the Results

Your first responsibility is to share your results with the clinical site and/or subjects who are interested, if this is relevant for your project. For some studies, it is appropriate to share results with participants, and if you have offered to do this, it is important to do so promptly.

To share your results more widely, you should work with your committee to revise your paper and send it to a journal to be reviewed for publication. Your committee will generally advise you about where they think it would be accepted. You usually will need to do some additional editing. Look in the journal you are targeting for the Guidelines for Authors to get specific requirements as to length and format.


12


You improve your chances for publication by having your manuscripts reviewed by others. Your reviewers can be clinical experts on your topic. You may also choose to have the manuscript reviewed for clarity by someone who is not an expert in the topic. The process of peer review is an important part of scholarship and one you will want to use whether you are preparing reports at your work site or writing for publications

You should also submit your research to be presented as a poster or a paper at a regional or national meeting. This is a good way to disseminate findings with clinical relevance. It is also a good way for you to meet people with similar interests and to begin to establish yourself as a master’s prepared nurse with research as well as clinical skills and interests.

Revised 11/2010

Approved: Graduate Curriculum Committee


Purdue University

School of Nursing

Master of Science Program

Manuscript Release Form

Student Name:

Article Title:

Version Approved for Submission:

Journal for Submission:

I approve submission of the above manuscript to the identified journal

Committee Chair Signature

Date

Student Signature

Date

Date Submitted

Attach a copy of the submitted manuscript.

NOTE: Only the approved version may be submitted. Changes made to manuscripts after approval must receive approval PRIOR to submission

Developed: Sept 2010

Approved: Graduate Curriculum Committee


1058584

Cryptography And Network Security By William Stallings 5th Edition Solution Manual

Cryptography And Network Security By William Stallings 5th Edition Solution Manual

Download Here

Follow the download link to get access to the ebook.


1 / 5


1058584

Cryptography And Network Security By William Stallings 5th Edition Solution Manual

MIMI

a

arlaree S SS'S e

ar S 40 a Saa a ea a Ca

e Sa *a a sar,

011111._ a.e tis are Sia in a.i asa s is a SO* as a a — lame a lea a as is 411! 11NMINS ana SAS am" SS a 481, AS Si a *a

Please SIGN IN

or REGISTER

to access

content



2 / 5


1058584

Cryptography And Network Security By William Stallings 5th Edition Solution Manual

MIMI

a

arlaree S SS'S e

ar S 40 a Saa a ea a Ca

e Sa *a a sar,

011111._ a.e tis are Sia in a.i asa s is a SO* as a a — lame a lea a as is 411! 11NMINS ana SAS am" SS a 481, AS Si a *a

Please SIGN IN

or REGISTER

to access

content



3 / 5


1058584

Cryptography And Network Security By William Stallings 5th Edition Solution Manual

MIMI

a

arlaree S SS'S e

ar S 40 a Saa a ea a Ca

e Sa *a a sar,

011111._ a.e tis are Sia in a.i asa s is a SO* as a a — lame a lea a as is 411! 11NMINS ana SAS am" SS a 481, AS Si a *a

Please SIGN IN

or REGISTER

to access

content



4 / 5


1058584

Cryptography And Network Security By William Stallings 5th Edition Solution Manual

Download Here

Follow the download link to get access to the ebook.


5 / 5


1070200

Windows Server 2008 Network Administrator Lab Manual

Windows Server 2008 Network Administrator Lab Manual

Download Here

Follow the download link to get access to the ebook.


1 / 5


1070200

Windows Server 2008 Network Administrator Lab Manual

MIMI SI a

Cis aged da• Se ea Sad — St a a ant • a sa a a Illad a a • s a a as do a am

                    tis ace SOS le SS ISSIS en ter SI as* MIIMINidde a a — lea a sin a ea ele fa SSW far, dade ed ana spas et a



2 / 5


1070200

Windows Server 2008 Network Administrator Lab Manual

MIMI SI a

    aged da• Se da Sad — St a a ant • a sa a a ea a a • fl a e ea do a am

tis ace lea le ea ISSIS a ter SI

* MIIMINidde a a ea lea dasadis

fa SSW far, dade ed ana spas et a



3 / 5


1070200

Windows Server 2008 Network Administrator Lab Manual

MIMI SI a

    ass •• Se ea SOS -as St S a maa • a ea a a ea a a • s a a ea to a am

tis ace Sleun SS YESS ela ter SI

        * a a la lea a sin a ea ele fa SSW far, 40auk as de ana spas et a



4 / 5


1070200

Windows Server 2008 Network Administrator Lab Manual

Download Here

Follow the download link to get access to the ebook.


5 / 5


1055416

Bayesian Reasoning Machine Learning Solution Manual

Bayesian Reasoning Machine Learning Solution Manual

Download Here

Follow the download link to get access to the ebook.


1 / 5


1055416

Bayesian Reasoning Machine Learning Solution Manual

MIMI SI a

    aged da• se en Sad —a St a a ant • add sa a a Said a a • da a e ea do a am

ONINIMP a.e tis ace lea le ea ella a ter MPS

          * a a ea lea da a di ea is ealleed fa SSW far, dade ed ana spas et a

          

          

Please SIGN IN

or REGISTER

to access

content

aldeNIOD







2 / 5


1055416

Bayesian Reasoning Machine Learning Solution Manual

MIMI SI a

aged da• se en Sad —a St

a a ant • add sa a a dbad a

a e ea do a am

0.010.5 a.e tis ace lea le ea ella a ter MPS

          * a a — abaft aweadfrea is ealleed fa SSW far, ea" ed ana spas et a

          

          

Please SIGN IN

or REGISTER

to access

content

4400116Se







3 / 5


1055416

Bayesian Reasoning Machine Learning Solution Manual

MIMI SI a

    ame S aaN44 —as St S a maa • a ea a a ea a a • s a a ea to a am

4.11110._ a.e tis ace Se ela ter MPS

          * a a la ease a sin a ea is le fa SSW far, 40auk 41, ana spas et a

          

          

Please SIGN IN

or REGISTER

to access

content

48.01Sie







4 / 5


1055416

Bayesian Reasoning Machine Learning Solution Manual

Download Here

Follow the download link to get access to the ebook.


5 / 5


Manual for the Networking/Partnering Proposal Template

General remark:

This proposal template will provide the necessary information on the proposed subject and thereby help ESA to identify the responsible Technical Officer within ESA.

Once, this has been taken place, you are contacted by the person in charge, who will provide you guidance for the further proposal process.

In order to best suit your needs, you are advised to use the template in the following way:

1. Please indicate, if you suggest a PhD or Post-Doc work.

2. Abstract: Please try to describe the suggested topic as brief as possible. For the time being, we are not interested in elaborated scientific explanations. What we are interested in is a brief and reasonable explanation of the proposed innovative step with respect to the state of the art today. It is possible to attach a doc, giving more explanation on the proposed subject.

3. Contact Details: Please provide us with the necessary information in order to contact you.

4. Candidate: Should you already have identified a person, please provide us with a short CV and the information requested within the template itself. The CV can be attached to the template.

5. Please avoid attaching elaborated documents. The Technical Officer together with you will make sure to submit the necessary information within the proposal.

6. Attached is a draft contract. It is assumed, that negotiations for signing the contract are based on this draft.

Please mail the filled in proposal form to joerg.wehner@esa.int For further information, please contact: joerg.wehner@esa.int


Academic Research International

ISSN-L: 2223-9553, ISSN: 2223-9944

Vol. 2, No. 1, January 2012


USAGE OF NVIVO SOFTWARE FOR QUALITATIVE DATA

ANALYSIS


Muhammad Azeem

Assessment Expert, PEAS

University of Education, Lahore

PAKISTAN

knowledgejhumra@yahoo.com


Naseer Ahmad Salfi

Doctoral Research Fellow

University of Education, Lahore

PAKISTAN

naseerphd03@yahoo.com 


ABSTRACT

The size of data collected by qualitative research methods is extremely large as compare to traditional quantitative data collections, and making sense interviews and field notes can be overwhelming. Often organizing and analyzing the data can appear to be problematic. A method still employed by some qualitative researchers for this scary task is by hand. However qualitative theorists have encouraged the use of qualitative data analysis software tools. For qualitative researches there are many software packages available for the researchers. One of the most advanced data analysis packages, computer assisted qualitative data analysis software (CAQDAS) NUD *IST Vivo or NVivo helps tremendously from conceptualization and coding of data to an entire research project. NVivo assists for manipulating data records, browsing, coding, and interpreting them. It also provides quick and accurate access to data records. Normally, qualitative researchers extract ideas and link them with data in order to express their understanding of certain research question. NVivo assist the researcher for linking–DataBites, DocLinks, and NodeLinks. DataBites are links made at selected text within a document. The researcher selects the text and easily links that text to a photograph, document, etc. DocLinks and NodeLinks can be placed in a document, anywhere within the text, or at a node. A DocLink can take the researcher to an existing project document or documents or to a new document. A NodeLink can take the researcher to text coded at an existing node or nodes or to textual passages. In short NVivo assists in the management and synthesis of ideas. It offers a variety of analyzing tools for developing new understandings and theories about the data and testing of answers to research questions.

Keywords: quantitative data, qualitative research, NVivo, software

INTRODUCTION

Literature review is a common feature of all kind of researches irrespective of field of study or subject matter. It frames basis of research or learned work. The research questions and hypotheses are supported by the comprehensive literature review. Like data analysis for findings, literature review is document analysis for understandings. In, especially, qualitative researches both—data analysis and literature review are equally important because the processes involved in building an argument from a body of literature are similar to processes involved in analyzing qualitative data.

Researchers have developed various strategies to deal with bulk of material to generate literature review through following general steps.

* Reading documents and noticing their reflecting

* Interacting with the past literature/data and analyzing for researcher’s comments

* Identification of significant themes and recording them through codes

* Linking similar ideas from different transcripts/documents


Academic Research International

ISSN-/: 2223-9553, ISSN: 2223-9944

Vol. 2, No. 1, January 2012


* Comparing similarities and dissimilarities in transcripts/documents

* Identifying contradictions in same type of arguments by different researchers

* In the last, building researcher’s own understandings and making analysis with links to supporting evidence in the past researches

In the age of digital, the literature reviewing process story has been totally changed from card indexes—manual work to bibliographical software—electronically works. Software Packages such as EndNote, Reference Manager, ProCite etc. are excellent tools to manage references for literature review. They made possible to search and sort references. They have direct links with word wild web packages, making it easy to insert the correct citation at a point in the text. They have made possible to do the similar tasks to analyzing qualitative data, mentioned above. Now it is possible to interacting with the past literature/data for researcher’s comments and reflections on past researches by code them with certain key words etc.

Software packages—WinMax , Atlas.ti, N4 Classic, N5, NVIVO, etc. are being used in a literature review to support the analysis processes involved. These software packages are in use in addition to Software Packages such as EndNote, Reference Manager, ProCite etc., as they do not have the bibliographic tools that those packages have. NVIVO, among all the qualitative analysis software packages, has a particular set of tools that is most significant feature for analyzing literature and flexible as compare to other qualitative analysis software packages.

Proxy Documents

These are the parts of the text that you want to remember from reading different documents/transcripts/articles etc. These summaries may explain the author's central ideas, arguments or key findings etc. there may be some significant arguments in these summaries that you want to quote them when you are writing up your own argument. These summaries may have some arguments that are contradicting each others.

The Proxy Document is the NVIVO help the researcher to carryout the processes of summarization. A Proxy Document represents a specific passage from your literature review. Researcher creates a Proxy Document directly in NVIVO by recording the start page number and the end page number any description that researcher may find useful in a document without writing in a word-processor first. NVIVO will automatically format a Proxy Document with the page numbers listed down the left-hand margin. Then researcher is able to type directly into your Proxy Document. Researcher can use different colourful headings to distinguish summaries of arguments from direct quotations. In this way researcher is able to view an outline of his summaries/quotations and jump to that point in Proxy Document.

It is also possible to import into NVIVO whole articles by scanning in or downloading. But it is not appreciated because Literature Reviews should be done with a purpose in mind. The process of summarizing of arguments through Proxy Document engages researcher in thinking and reinforces his understanding resultantly it can stimulate researcher for his own critique.

Organizing the Literature

After making Proxy Documents in NVIVO literature review project, researcher can organize them by author, date of publication, country of publication, academic discipline and by topic. The way of organization of literature depends on the purpose of literature review. Once Proxy Documents are organized, researcher can pull out all the literature on a particular topic from a particular discipline. Bibliographic software packages can do this however, the purpose of doing this in NVIVO is that once researcher have collected this combination of references, he can save them and can restrict his further analysis to just that set of documents.

Critiquing particular pieces of literature

A Memo to a particular Proxy Document is the NVIVO tool support the researcher in writing out his own reflections on the piece of literature and he starts building his own critique of it. In this way


Academic Research International

ISSN-/: 2223-9553, ISSN: 2223-9944

Vol. 2, No. 1, January 2012


researcher support his critique by linking to quotes that he extracted from the piece in the Proxy Document.

Combining the data

Proxy Document—Coding is a tool to collect information about a theme under consideration. If coding seems to not enough then researcher carries out refinement in coding—spreading coding and, then nodes are created. Nvivo lists all codes and researcher is able to delete irrelevant test/passage from the nodes. Once the coding is completed, researcher can pull out all arguments related to a specific theme or restrict his reviewing literature to a specific year.

Building arguments supported by the literature

By using DocLinks—links within documents, and NodeLinks—links within coded passages in nodes, refer to the Proxy Documents researcher can be build his argument. DocLinks are used as general citation in writing an article while NodeLinks are used as a direct quotation in an article.

These are general strategies for analyzing qualitative data and the software tools that can be used to aid these strategies. It is important to remember that NVivo does not eliminate the need for the researcher to think because Nvivo does not analysis the data but helps the researcher in analyzing the data. By using Nvivo for literature review, researcher is creating a literature archive and it is the researcher who draws conclusions and inferences from data. In this way, researcher starts to write up his literature review.

ANALYZE QUALITATIVE DATA BY NVIVO

Transformation of data into findings and inferences is the main objective of the qualitative data analysis. Data analysis techniques are might be understood aspect for differentiation of qualitative and quantitative research methods.

According to Patton (2002) “reducing the volume of raw information, sifting trivia from significance, identifying significant patterns, and constructing a framework for communicating the essence of what the data reveal”. Simplest way to judge the findings is to identify cause and effect relationships or different patterns in the research data. Ambiguities in data can be handling by starting data analysis immediately after first review of observations till the completion of analysis. Since the size of data in qualitative researchers is extremely large enough to handle manually, qualitative theorists have encouraged the use of qualitative data analysis software packages (e.g., Berg, 2001; Denzin & Lincoln, 1998; Kelle, 1997a, 1997b; Krueger, 1998; Merriam, 2001; Miles & Hueberman, 1994; Morse & Richards, 2002; Patton, 2002; Silverman, 2000, 2001; Taylor & Bogdan, 1998; Tesch, 1990).

Software Packages that are assisting in the analysis of qualitative data are referred to as Computer-Assisted Qualitative Data Analysis Software (CAQDAS) (Patton, 2002). Basically three types of software are in use in qualitative data analysis. Some only retrieve text; others code and retrieve text; still others are referred to as theory-building software (Fielding, 1994). Text retrieving—permits the user to recover data by using keywords that appear in the text, Code-and-retrieve—permits the researcher to separate text into segments, attach codes to those segments of text, and then find and display all text segments with a given code or some combination of them, Theory building—deals with the relationships between the different categories themselves and the researcher can make connections between nodes, develop higher-order categories and classifications, formulate assertions that fit the data, or test those assertions to determine if they apply (Fielding, 1994). The most popular packages used for qualitative research purposes is NVivo by Qualitative Solutions and Research Pty. Ltd. of Melbourne, Australia.

NVivo assist the researcher in manipulating data records, browsing them, coding them, and annotating and gaining access to data records quickly and accurately (Richards, 1999). NVivo has tools for “recording and linking ideas in many ways, and for searching and exploring the patterns of data and ideas. The various actions—proxy documents, nodes, and attributes give values to attributes, linking, coding, and shaping in sets the documents and nodes. This work is starts from the Launch Pad


Academic Research International

ISSN-/: 2223-9553, ISSN: 2223-9944

Vol. 2, No. 1, January 2012


After creating a project, another window, the Project Pad opens. This Project Pad guide the researcher how to use most common activities associated with the Nvivo.

Documents are created within or imported into the package and these documents can be explored, browsed, changed, linked, and coded. Visual coding—similar topic in same color can be used to mark passages for review. Nodes—containers of categories and coding, represent abstract ideas, concepts, people, places, processes, or any other category established documents for project. Nodes can contain any amount of document coding. Researcher can reorganize, change the index system as ideas form and merge within Nodes. Attributes store information about research study, for example, data sources, an organization, the people, a site, the year a document was created, gender of a respondent, the location at which a photograph was taken, or other aspects of nodes.

Normally, qualitative researchers link finding and ideas across different researches in order to express their understanding about a specific theme. NVivo permits the researcher to create such links by establishing linking–DataBites, DocLinks, and NodeLinks. DataBites are links made at selected text within a document. The researcher selects the text and easily links that text to a photograph, document, etc. DocLinks and NodeLinks can be placed in a document, anywhere within the text, or at a node. A DocLink can take the researcher to an existing project document or documents or to a new document. A NodeLink can take the researcher to text coded at an existing node or nodes or to textual passages. By using these linking techniques, the user can make internal annotations or write memos concerning certain pieces of data (Richards, 2002). Coding is, in NVivo, placing references to text at nodes. A number of sets can be generated by documents or nodes. By using codes researcher can search within a set, etc.

In short NVivo assists in the management and synthesis of ideas. It offers a variety of analyzing tools for developing new understandings and theories about the data and testing of answers to research questions.

BIBLIOGRAPHY

Berg, B. L. (2001). Qualitative research methods for the social sciences (4th ed.). Boston: Allyn& Bacon.

Coffey, A., Holbrook, B., & Atkinson, P. (1996). Qualitative data analysis: Technologies and

representations. Sociological Research Online, 1(1). Retrieved from

http://www.socresonline.org.uk/socresonline/1/1/4.html

Creswell J. and Maietta R. (2002). Qualitative Data Analysis Software. In: Miller, D.C. and Salkind, N. J. (Eds) Handbook of Research Design and Social Measurement, 6th Edition, Thousand Oaks, CA: SAGE.

Denzin, N. K., & Lincoln, Y. S. (1998). Strategies of qualitative inquiry. Thousand Oaks, CA: Sage.

Drisko, J.W. (2004). “Qualitative Data Analysis Software: A User's Appraisal”. In D. Padgett (Ed.). The Qualitative Research Experience [revised edition] Belmont, CA: Wadsworth.pp. 193-209.

Drisko, J.W. (1998) “Using Qualitative Data Analysis Software: Merits and Hazards”. Computers in Human Services, 15(1), 1-19.

Fielding, N. G. (1994, September). Getting into computer-aided qualitative data analysis. Data Archive Bulletin. Retrieved from http://caqdas.soc.surrey.ac.uk/getting.htm

Fielding, N. G. (1995, May). Choosing the right qualitative software package. Data Archive Bulletin, 58.Retrieved fromhttp://caqdas.soc.surrey.ac.uk/choose.htm

Krueger, R. A. (1998). Analyzing and reporting focus group results. Thousand Oaks, CA: Sage.

Lewis, R. Barry. 2004. "NVivo 2.0 and ATLAS.ti 5.0: A Comparative Review of Two Popular Qualitative Data-Analysis Programs". Field Methods 16 (4): 439-464.


Academic Research International

ISSN-L: 2223-9553, ISSN: 2223-9944

Vol. 2, No. 1, January 2012


Maxwell, J. A. (1996). Qualitative research design: An interactive approach. Thousand Oaks, CA: Sage.

Merriam, S. B. (2001). Qualitative research and case study applications in education (2nd ed.). San Francisco: Jossey-Bass Publishers.

Miles, M. B., & Hueberman, A. M. (1994). Qualitative data analysis: An expanded sourcebook (2nd ed.). Thousand Oaks, CA: Sage.

Morse, J. M., & Richards, L. (2002). Readme first. Thousand Oaks, CA: Sage.

Patton, M. Q. (2002). Qualitative research & evaluation methods (3rd ed.). Thousand Oaks, CA:Sage.

Plass, C., & Schetsche, M. (2000, December). The analysis and archiving of heterogeneous text documents: Using support of the computer program NUD*IST 4. Forum: Qualitative Social Research, 1(3). Retrieved from http://qualitative-research.net/fqs-texte/3-00/3-00plassschetsche-e.htm

Richards, L. (1999). Using NVivo in qualitative research. Bundoora, Victoria, Australia: Qualitative Solutions and Research.

Richards, L. (1999a). Data Alive!: The thinking behind NVivo. Qualitative Health Research, 9(3), 412-428.

nd

Richards, L. (1999b). Using NVivo in qualitative research (2 ed.). Victoria, Australia: Qualitative Solutions and Research Pty. Ltd.

Richards, L. (2002, February). Introducing NVivo: A workshop handbook (Rev. ed.). Doncaster, Victoria, Australia: Qualitative Solutions and Research.

Richards, T. (2002). An intellectual history of NUD*IST and NVivo. International Journal of Social Research Methodology, 5(3), 199-214.

Silverman, D. (2000). Doing qualitative research: a practical handbook. Thousand Oaks, CA:Sage.

Silverman, D. (2001). Interpreting qualitative data: Methods for analyzing talk, text andinteraction (2nd ed.). Thousand Oaks, CA: Sage.

Taylor, S. J., & Bogdan, R. (1998). Introduction to qualitative research methods (3rd ed.). New York: John Wiley & Sons.

Tesch, R. (1990). Qualitative research: Analysis types and software tools. New York: The Falmer Press.

Weitzman, E. A. (2000) Software and qualitative research. In N. K. Denzin & Y.S. Lincoln (Eds.), Handbook of Qualitative Research (pp. 803-820). Thousand Oaks, CA: Sage.

Welsh, Elaine (2002, May). Dealing with data: Using NVivo in the qualitative data analysis process [12 paragraphs]. Forum Qualitative Sozialforschung / Forum: Qualitative Social Research [On-line Journal], 3(2). Retrieved July 16, 2002 from http://www.qualitative-research.net/fqs-texte/2-02/2-02welsh-e.htm


Apr 18 2020



spetsnaz-training-manual 1/5 PDF Drive - Search and download PDF files for free.





Spetsnaz Training Manual

When people should go to the books stores, search start by shop, shelf by shelf, it is truly problematic. This is why we allow the book compilations in this website. It will completely ease you to look guide Spetsnaz Training Manual as you such as.

By searching the title, publisher, or authors of guide you really want, you can discover them rapidly. In the house, workplace, or perhaps in your method can be every best place within net connections. If you purpose to download and install the Spetsnaz Training Manual, it is extremely easy then, past currently we extend the colleague to buy and create bargains to download and install Spetsnaz Training Manual for that reason simple!

USSR Special Forces Training Visit our FB blog: https://www.facebook.com/AtackaAirsoft.

Special Forces - Hand to Hand Combat Knife fighting Training (2019) Special Forces - Hand to Hand Combat Knife fighting Training (2019)

* Kamuflage- Russian Tactical and outdoor clothing and ...

Russian Spetsnaz Support me on Patreon https://www.patreon.com/thisisrussia

Russian Military Instructor - AK Manual of Arms Proper handling and manipulation of Avtomat Kalashnikova weapons platform.

Russian Spetsnaz - Training Spetsnaz is a Russian term it is typically associated with units of Russian special forces

* instagram - https://www.instagram ...

SPETSNAZ TRAINING 2019 SPETSNAZ TRAINING - THE BEST IN THE WORLD

* Hama rpymm ??u?~a?rs - https://vk.com/sof_russian

* Ham Instagram - https://www ...

Special Forces Hand to Hand Combat Special Forces Hand to Hand Combat

* instagram - https://www.instagram.com/militaryforcesxxi/

* Facebook - https://goo.gl ...

Battle for Beret: Joining Russia’s Special Forces (RT Documentary) Many young men dream of joining Russia's Special Forces. However, for that to come true, they have to pass a series of incredibly ...

Crazy Training Spetsnaz - "Hand To Hand Combat" (2020) Crazy Training Spetsnaz - "Hand To Hand Combat" (2020)

* Grey Shop - best way to buy modern Russian Equipment and

other ...

Spetsnaz Hand to Hand Combat Training Spetsnaz Hand to Hand Combat Training

* Hama rpymm ??u?~a?rs - https://vk.com/sof_russian

* Ham Instagram - https://www ...

Never Mess with Russian Commandos!!! I have used Zoom H1 in this Video to Record my Voice if you want to but than Click here now https://amzn.to/2UkgzHw Stalk me ...

SAS: Survival Secrets - Interrogation resistance For more info and updates about this channel, please like or follow: https://www.facebook.com/pages/Massza/276364905852843 ...

10 MOST ELITE SPECIAL FORCES IN THE WORLD Elite special forces are some of the best-trained and most formidable units a country can boast. Whether emerging from the water ...

Russian special forces hand to hand combat - training and combat elite police special units — the main purpose of which is contact with the enemy at extremely close range — by definition ...

SELF DEFENSE - STS - Professional Close Combat Training for Police and Military SPECIAL TRAINING SERVICE (Professional Department of the World Ju-Jitsu Corporation) Extreme armed and unarmed combat ...

Spetsnaz - Hand To Hand Combat Spetsnaz Vityaz (604 Center Special Purpose) - Win Yourself , You Will Be Invincible. The detachment was originally designed as ...

Russian Spetsnaz Training

FRANCE vs RUSSIA - HAND TO HAND COMBAT | SPECIAL FORCES -Playlist HAND TO GAND COMBAT

:https://www.youtube.com/playlist?list=PLJ1cuma8jc12Yo_qr0tBO3xlmtN88153X

____________ ...

Crazy Training Spetsnaz - "Stronger Than Iron" (2019) Crazy Training Spetsnaz - "Stronger Than Iron" (2019)

* Grey Shop - best way to buy modern Russian Equipment and

other ...

Russian Spetsnaz Training - Cooper Test for Physical Strength and Endurance Russian Spetsnaz Training physical test includes: Exercise #1: 10 regular push-ups. Exercise #2: 10 times – in the plank position ...

RUSSIAN SPETSNAZ TRAINING - HAND TO HAND COMBAT RUSSIAN SPETSNAZ TRAINING HAND TO HAND COMBAT

* Hama rpymm ??u?~a?rs - https://vk.com/sof_russian

* Ham Instagram - https ...

How to reload an AK This video is a short excerpt from our "AK Operator" training DVD

Can you help us make better videos?

Please go to http://www ...

Russian riot police training Police training in Ryazan (2017)


Apr 19 2020



clinical-and-molecular-immunology-manual 1/5 PDF Drive - Search and download PDF files for free.





Clinical And Molecular Immunology Manual

Recognizing the habit ways to get this books Clinical And Molecular Immunology Manual is additionally useful. You have remained in right site to start getting this info. get the Clinical And Molecular Immunology Manual link that we give here and check out the link.

You could buy guide Clinical And Molecular Immunology Manual or acquire it as soon as feasible. You could speedily download this Clinical And Molecular Immunology Manual after getting deal. So, later than you require the ebook swiftly, you can straight acquire it. Its fittingly very easy and correspondingly fats, isnt it? You have to favor to in this melody

Manual of Molecular and Clinical Laboratory Immunology

Manual of Molecular and Clinical Laboratory Immunology

The Enzyme Linked Immunosorbent Assay (ELISA) The ELISA, or Enzyme-Linked ImmunoSorbent Assay, is an analytical biochemistry technique that uses antibodies to detect the ...

MOLECULAR IMMUNOLOGY

Enzyme-Linked Immunosorbent Assay (ELISA) - Multi-Lingual Captions This short animation demonstrates enzyme-linked immunosorbent assay (ELISA) to measure specific antibodies. This resource ...

ELISA test ELISA assay - This immunological assay lecture explains about the elisa test procedure and principle behind the elisa assay ...

Molecular Immunology The Molecular Immunology program of the Centre for Biodiscovery and Molecular Development of Therapeutics.

Introduction to Microbiology Culture Techniques Nicole Gentile, PhD Candidate, provides an overview of basic microbiology and the concepts involved, including the bacterial ...

cellular and molecular immunology chapters 7 - 12

Neutrófilos PRESENTACIÓN PARA DESCARGAR: https://drive.google.com/open?id=1QBE6mLPtEpyehyQ7tAZJbWD... NOTA: ...

7. Cell Communication and Immunology Frontiers of Biomedical Engineering (BENG 100) Professor Saltzman talks about cell communication, specifically ligand-receptor ...

Immunology - Antigen-Antibody specific binding for Immunohistochemistry (IHC) based Tumor Diagnosis What is Immunology?

Cellular and Molecular Immunology, 7th Edition "Cellular and Molecular Immunology" takes a comprehensive yet straightforward approach to the latest developments in this ...

Systems immunology in immuno-oncology Dr Nikesh Kotecha speaks to ecancer at the WIN 2019 Symposium in Paris about the use of informatics in immuno-oncology in ...

How to prepare viable single cell suspensions from mouse lung tissue Watch how the gentleMACS Octo Dissociator with Heaters can improve your workflow of single cell suspension preparation.

Cellular and Molecular Immunology, 8th Edition Preview: "Cellular and Molecular Immunology", 8th Edition, by Abul Abbas. Learn more: http://bit.ly/1DUz1IU.

Adnane Achour, Professor of Molecular Immunology Adnane Achour, Professor of Molecular Immunology at the Department of Medicine, Solna. Adnane Achour examines and ...

Magnetic cell isolation with MACS Technology Cap'n T Cell explains what makes MACS Technology and the magnetic cell isolation unique and superior and why it is the best ...

Antinuclear antibody screening - Making an informed decision Antinuclear antibody screening - Making an informed decision Gyorgy Abel, MD, PhD, DABCC, Director of Clinical Chemistry, ...


Dec 30 2019



file-on-1997-chevy-cavalier-repair-manual 1/5 PDF Drive - Search and download PDF files for free.





File On 1997 Chevy Cavalier

Eventually, you will no question discover a supplementary experience and endowment by spending more cash. still when? do you allow that you require to acquire those all needs behind having significantly cash? Why dont you try to get something basic in the beginning? Thats something that will lead you to understand even more as regards the globe, experience, some places, subsequently history, amusement, and a lot more?

It is your entirely own period to achievement reviewing habit. accompanied by guides you could enjoy now is File On 1997 Chevy Cavalier Repair Manual below.

1997 Chevrolet Cavalier 2.2L Walkaround Title says it all. It's very lovely... Gotta love a Chevy!

97 Chevy Cavalier plugwire/coilpack easy replacement This is ONE OF THOSE 97 Cavaliers with the L4 I believe. All I know is the coil packs are BURIED in the back bottom area of the ...

1997 Chevy Cavalier Aftermath 1997 Chevy cavalier aftermath video of Preble county Ohio fair derby.

1995 - 2005 Chevy Cavalier Pioneer Bluetooth Radio Install AVH-X280BT Support the channel by picking up your Provo Beast merch here: https://teespring.com/stores/provo-beast-audio-installation Watch ...

Look at a 1996 Chevy Cavalier Look at this very clean one owner Cavalier. Car is like new. Its got the 2.2 with 140 hp Look at my other videos to see an 03 ...

Overheating problem 1997 Chevrolet Cavalier 2.2L 4 cylinder Overheating problem 1997 Chevrolet Cavalier 2.2L If your heater hose setup is the same then this may help you as well for other ...

Regular Car Reviews: 1996 Chevrolet Cavalier Z24 I want my 90's back. This car takes me there, if only for a moment.

Front Disc Brake Pads & Rotors "How to" Chevrolet Cavalier Stuff I used in today's video... Pads & Rotors: https://amzn.to/2YSYdz8 Floor Jack: https://amzn.to/2LmGM7d Jack Stands: ...

Fuel Pump & Fuel Filter Replacement Chevrolet Cavalier 1995-2005 In this video we show have to replace a failed fuel pump and plugged fuel filter in a Chevrolet Cavalier 1995-2005. If you have any ...

How to Replace the Alternator on Chevy Cavalier A little bit of preventative maintenance on the old Cavacruiser. My alternator was on the way out. After they start producing ...

spark plug change part1 1997 Chevy Cavalier Girls changing spark plugs on a 1997 Chevy Cavalier.

1997 Chevy Cavalier Water Pump Epic Automotive demonstrates how to remove and replace a water pump in a 1997 Chevy Cavalier.

'97 chevy cavalier review This video shows my new cavalier that replaced my Buick Park Avenue.

1997-2002 Chevy Cavalier Review Here's a Quick review of the 2001 Cavalier. Please Like,Comment,And Share!! Subscribe for more Videos!

My Chevy cavalier. 1997 caviler custom I hate my voice when record on video. This car might be for sale.

Coil pack replacement 1997 Chevy Cavalier 2 4 l Please know that I am not a professional mechanic or car guy. This is not professional advice. I am merely a backyard mechanic.

1997 chevy cavalier burnout cavalier burnout.

1997 Chevy cavalier walkaround This is our 1997 Chevy cavalier walkaround.

1997 Chevy Cavalier Convertible Power top works like a charm.


Apr 18 2020



systema-combat-manual 1/5 PDF Drive - Search and download PDF files for free.





Systema Combat Manual

Right here, we have countless books Systema Combat Manual and collections to check out. We additionally allow variant types and as well as type of the books to browse. The suitable book, fiction, history, novel, scientific research, as capably as various new sorts of books are readily easy to use here. As this Systema Combat Manual, it ends stirring inborn one of the favored book Systema Combat Manual collections that we have. This is why you remain in the best website to look the incredible books to have.

Systema: How to defend against a punch? For more information, questions or training requests please contact is on: Facebook: https://www.facebook.com/TransitionCRT/ ...

RUSSIAN SPETSNAZ - RUSSIAN SYSTEMA HAND TO HAND COMBAT Russian Martial Art Systema Spetsnaz International training center offers reality-based self-defense classes, instructional DVDs, ...

Russian Systema in a REAL FIGHT

Russian Systema hand to hand fighting masters. Mikhail Ryabko. Vladimir Vasiliev. Vadim Starov. Val Riazanov. Music playes is: Learn to Breathe by Thousand foot Krutch. and ...

Street fighter tests Russian Martial Art Systema To learn HOW TO how to take serious strikes click here: https://youtu.be/oFsMa5DuSFs Clip taken in Moscow in April 2013.

Systema on the Discovery Channel - Biomechanics of Hand-to-Hand Combat - Martin Wheeler.mp4 http://www.wheelersystema.com http://www.theacademybeverlyhills.com Martin Wheeler demonstrates how security professionals ...

RUSSIAN SYSTEMA TRAINING: Hand to hand combat. Fighting against a stronger opponent RUSSIAN SYSTEMA TRAINING: Hand to hand combat. Fighting against a stronger opponent. Russian Martial Art self-defense ...

SCARS on the ground. Many "stand up" fighting systems believe they can stop grappling takedowns by striking or kicking. Taken from a live seminar ...

Systema Punch Tips for Power with Menamy Mitanes The Systema punch is unlike any punch I've ever felt. In this video, Menamy Mitanes shares a few tips on how Systema delivers ...

RELEASE FROM GRABS - RUSSIAN SYSTEMA SPETSNAZ - RUSSIAN MARTIAL ARTS TRAINING Russian Martial Art Systema Spetsnaz International training center offers reality-based self-defense classes, instructional DVDs, ...

My take On Russian Systema based on Internal Martial Arts Car??ine, literally meaning The System) is a Russian martial art Training includes, but is not limited to: hand-to-hand combat, ...

Systema Spetsnaz Training In Action. Russian Martial Art SYSTEMA SPETSNAZ RUSSIAN MARTIAL ARTS: Russian Systema Spetsnaz Training Center offers reality-based self-defense ...

Defending against a stick attack (stab). Systema Transition Combat System For more information, questions or training requests please contact is on: Facebook: https://www.facebook.com/TransitionCRT/ ...

Systema in real combat

FULL SPEED REAL CONTACT SYSTEMA BY VLADIMIR VASILIEV // FAST WORK // 2019 // SELF-DEFENSE CHECK OUR NEW VIDEO: https://www.youtube.com/watch?v=7XZ3POJ0ZKc #Systema #SelfDefense #VladimirVasiliev Hello ...

Stick Fighting Part 2 Systema Russian Martial Art

SYSTEMA. 01) The strongest martial art & The best fighting movie scene ever!! Hi, This is the first series of SYSTEMA special. SYSTEMA is often referred as the strongest martial art. With brief explanation of it, ...

Episode 18: Kevin Secours Combat Systema on Pramek Radio podcast martial art Listen more on http://pramekradio.com Check us out at http://facebook.com/prameksystem Matt Powell of Pramek and Kevin ...

How to counter a throw. Systema Transition Combat System For more information, questions or training requests please contact is on: Facebook: https://www.facebook.com/TransitionCRT/ ...


PRINCETON UNIVERSITY PRECIX ROUTER MANUFACTURING MANUAL

Modified from the original version compiled by David Erdman, UCLA

Rewritten For Princeton Use By John Hunter


Table of contents:

I: INTRODUCTION

1.1 Rules and procedures

1.2 Relevant issues

II: FILE PREPARATION FOR MILLING

2.0 General

File format chronology

Setting up files

2.1 2D Contours/Pockets

2.2 Z Rough (Rough Cuts)

2.3 3D Cut (Finish Cuts)

2.4 Simulation and post processing

III: MILLING PROCEDURES

3.0 Chronological summary

3.1 Set up

Placing a work piece

Z travel of the Precix Router

Mounting and extracting end mills/extensions

Suction parameters

Dust vacuum

3.2 Set up Positioning the machine

Homing

Moving to Origin

3.3 How to set speed

Cutting speed


Spindle speed

Traverse speed

Suggested material feed rates

3.4 Loading Files

3.5 Operating

Starting the job

Pausing the job

Emergency stops

3.6 Shutdown

IV: TECHNICAL GLOSSARY/INFO

4.0 End mills

4.1 General parameters of both mills


I: Introduction

1.1 Rules and procedures

The mill is only available to people who have been formally introduced to its

methods of use through Princeton University’s S.o.A. class Arc. 574. In general, this limits its availability to students who have taken the Arc. 574 CNC milling seminar, or an option studio in which CNC milling was explored. Limited, if any, exceptions may be made on a per-student basis through discussion with Miles Ritter and John Hunter.

Safety guidelines

* Wear goggles at all times

* Operator must be present whenever running a job. In theory, one should never leave the mill running on its own. If one does, and anything should occur, there may be consequences. In addition, this is not to suggest that one cannot go to the restroom, but if one is going for coffee or food, the job should be paused. Also, it is not the job of assistants to monitor jobs.

* Use gloves when changing end mills

* Keep mouse nearby in case of emergency or stopping.

* Vacuum part regularly / Make sure separate mounted vacuum is on when running and pause job to empty if needed

* Chips may be sharp, for cleaning shoot compressed air away from people or brush off table / Make sure compressed air is hooked up – located at bottom of end of table

* Never reach over the machine while cutter is rotating to measure, only to vacuum

* If a work piece begins to vibrate, or the cutter makes excessive noise, stop cutting immediately

* Before powering up the router be sure that the spindle is free from the work piece or all other obstacles.


* Do not wear loose clothing

* Keep hands away from router and bit when running

* Ensure that the part is securely fastened (through use of T-slots) to the table

* If damage or injury should occur notify staff immediately

* If you do not know how to operate the machine or do not fully understand the manual or instructions you have been given ask an attendant or Shop Lab Tech so you are certain about what you are doing.

IF YOU DO NOT KNOW, ASK

Clean Up + storage:

All tools have been inventoried and it is the responsibility of the user to inform Shop Personnel of any damaged or missing items. In addition, it is the responsibility of the user to leave the mill in a clean and organized manner while using the mill and when completing a job.

* Clean off all debris from the table and surrounding area using the vacuum machine.

* Vacuum floor around machine

* Check Air filter, clean if needed

* Organize all end mills and tools back into their proper location in the end mill case


Elimination of Privileges:

Any user may have their privileges permanently withdrawn if any of the following occur:

* Personal injury to themselves or others present

* Intentional/negligent damage or misuse of the equipment

* Unapproved or unscheduled use

* Stealing of equipment/accessories

* Disobeying safety procedures

* In severe cases of equipment damage, if it is clear that intentional misconduct occurred, a student/user may be fined for the repair/replacement of equipment.

1.2 Relevant Issues

What is CNC?

Schematically, an NC machine has three basic components:

* A program of instructions

* A controller unit

* A machine tool

Today, NC and CNC are used almost interchangeably, but they result from different historical periods and innovations. The Electronic Industries Association defines numerical control as

General Vocabulary:

Work piece _ the piece of material from which cutting will be subtracted.

Part- the resultant piece after cutting

End mill- CNC bits

Router- is the machine tool


What is an IGES file?

In this seminar, students will be utilizing a number of modeling software prior to using SURFCAM. None of the following, Alias, Maya, FormZ, Rhino, 3D Studio, can be directly read by SURFCAM. The data must be translated into a standard format that can be understood by SURFCAM. The “Initial Graphics Exchange Specification” (IGES) can transfer CAD data from one system to another. The IGES was developed by the National Bureau of Standards to facilitate the exchange of engineering/architectural data between computer graphics systems. This was a rather colossal task, as it attempted to maintain accuracy while it would allow all CAD vendors to exchange files. Since parametric modeling mathematics and techniques are confidential between CAD vendors, the IGES commission allowed a certain degree of freedom among CAD vendors for “stuffing” their files into IGES formats.

The general rule of thumb when using IGES formats is that maneuvers local to any software will not transfer well. In other words, operations which may involve complex mathematics, could be solved a number of ways, like Boolean operations, trim and stitch, joining, blending, sweeping, and surfacing. Therefore the likelihood of the mathematics of say Alias and Form Z aligning are quite low as both software models on different mathematical principles (surface modeler versus object modeler). Even when transferring between mathematically similar software, the more information in the data of transfer, the more likely the information will be distorted in the second party software.

In order to minimize interface distortion one should limit the transfer of information to NURBS or curves. Transferring surfaces is possible. If one is going to attempt this it is critical to build the surfaces in a clean manner (equal numbers of cv’s per curve which construct the surface, no under cutting, minimum number or isoparms to describe a surface etc.) and, when possible, avoid trimming, stitching, and blending operations. If these are unavoidable be prepared to leave time for adjustments as a result of transferring.


II: File Preparation for Milling

2.0 General

File Format Chronology

The translation into SURFCAM and post processing will transfer formats from .igs to NCC to .gc. This transition takes a generic file format .igs, and through setting up a series of Numerically Controlled rereading of a model generates an NC file. The NC file is the series of numbers/vectors, which are constrained by feed rates, bit size, cut-type, which re-describe a model. This information must then be converted into what is called G-Code. G-Code is a machine specific language, which is the conventional interface for CNC machining. The transition from an NC file to a .gc (G-Code) file is what is called post processing. Post processing is simply a mathematical technique for converting NC files to .gc files.

Setting Up Files

There are several rules of thumb when moving a file from first party software into

SURFCAM. Prior to exporting as .igs files always do the following:

1. Undercuts. One of the major constraints of a CNC mill is that it cannot perform undercuts. This is only relevant when constructing 3D NC sequences. CNC mills can basically cut an infinite number of variations of a bowl. What they cannot do is cut anything that exceeds the exterior profile of the top rim of the bowl. In other words, a 3D NC operation will not allow (will error) when it finds a `C’- like profile (if one understands the C as having a top and a bottom relative to this page) along a surface. An end mill cannot reach the interior space of the C, which is perpendicular to the ground plane. On the other hand `L’ and `h’ like shapes are of no problem. Ensure that all models (surfaces or profiles which describe a surface) are free of undercuts prior to interfacing them with SURFCAM for 3D NC sequences.


2. Ensure that the part (model) is in the positive X, Y and the negative Z areas (3D) or: At Z=0 (2D) of the world axes, As well as ensuring that all curve/surface normals are in the positive direction (3D).

3. Quite often it is the case that a world coordinate Z-axis has a different default setting than the one in SURFCAM. This is particularly true with Maya. Be sure to align Maya file’s Z-axis with that of SURFCAM prior to exporting.

4. Place the model as close to zero in its Z-axis while ensuring that it does not go into the positive Z coordinates. This allows the starting height of the bit and that of the material to be nearly synonymous. As a result one maximizes both time and material.

5. Create a bounding box around the part (3D Z Rough). A bounding box is a box that should be a 2D series of orthogonal lines, which describe a perimeter within which a part is placed. This should be drawn on the Z-0 plane of your file. This will ensure that the zero point can still be physically located repetitively, if necessary.

6. Select items of transfer (including the bounding box) and export the active items as an .igs file. By exporting only the active items one further prevents messy files or the importation of invisible data.

2.1 2D Contours (profiles) and Pockets SURFCAM: User’s Manual: 2:Ch 4:2Axis:pp83-100

Instructions:

The remainder of section III outlines procedures and instructions for basic cutting techniques and types. Information may appear in control windows, which is not included or discussed in this manual. All information that has been bypassed is not relevant to the following procedures and therefore should not be manipulated.


Chapters in the SURFCAM manuals have been identified at the beginning of each technique and may be referred to if a student would like to investigate more complex procedures that would require the manipulation of omitted parameters. These more advanced procedures should only be undertaken after becoming familiar with the procedures outlined in this manual.

Setting up the NC Sequence

* Main menu

* NC menu

* NC mode

* 2 axis

* Contour or Pocket

* Single - This is only if the profiles have been joined and is one entity. If they are separate entities, four curves, it is possible to pick them as one curve by using the chain tool, although this has a varied success rate.

* Pick profiles or pocket contours

* Done

* Once selected, the SURFCAM 2axis Contour/Pocket window will be displayed on the screen. There are two windows one must move through in order to set up the file for post processing, tool information and cut control.

Tool Information:

The tool information window allows one to specify an end mill and program it. The first step is selecting an end mill, for instance a 6mm carbide flat end mill. All 2D cutting is done with flat end mills.


The material selection in this window is irrelevant as we set the parameters based on certain materials, both in the NC program and manually at the Precix mill.

There are two options for programming the bit: At its tip or at its center. If using a ball nosed end mill, for a 3D finish cut select center. This means that the program will run from the center of the diameter of the tip of the end mill. In other words, it will ensure that each cut made per pass will equal the diameter of the bit. When using a flat end mill, for a 3D Z-rough cut, 2D profile cuts, or 2D pocket cuts, select tip. As the tip of a flat end mill is not shaped, it does not need to be submerged to any depth to

maximize its diameter.

Cut Control:

Method to be cut conventional and climb:

This is the relationship of the rotation of the end mill, the movement/rotation of the router and the work piece. Simply put, it is the difference between running an end mill with the material or against it. This is determined by rotating the end mill in clockwise or counterclockwise rotations depending on the direction and movement of the router. Climb cutting moves against the material, is typically used for harder materials and is a rather advanced manufacturing technique. Conventional cuts with the material and is what should be used.

Pocket cut mode (will appear when pocket cutting only), spiral or zigzag.

This is the sequence in which the end mill will cut from the work piece; both give rather different finishes. Spiral is more of a landscape contour finish; zigzag will leave a linear finish.

Rapid plane = .25:

This is the height of retraction above the top surface of the work piece an end mill

will maneuver while executing routines. Typically this should be set to 6mm. This


option must always be double-checked when editing or redoing NC sequences, as it will change back to variable defaults. When doing extremely deep cuts, 2.25” plus, then one should consider the maximum z-travel of the router. The rule of thumb is that when calculating the maximum z-depth of cutting for a part it should be the cutting depth plus the retraction height, and the depth of stock at the bottom of the part so as to prevent cutting into the table. See section 4.1 Z - travel of Precix router.

Geometry = top:

This sets the Z-axis position of the router. The router will cut a depth below this

position based on the settings for the amount to remove and rough spacing.

In Z _ amount to remove, rough spacing.

The amount to remove is the depth of the work piece from which profiles or pockets are being cut. One should never remove the entire depth of the work piece, as this will cause vibration and could develop into a dangerous situation. Therefore, if one is cutting profiles from a 1.625” deep work piece, the amount to remove may be .0625”; thin enough to cut through with an exacto knife. It is also important to note that some scrap material should always be mounted below the work piece material so as to prevent cutting into the table when cutting at very thin dimensions.

The rough spacing is another term for the z step of an end mill.

This is the depth an end mill can plunge in a material. As a rule of thumb, end mills typically plunge a maximum of half of their diameter. For example, a .25” flat end mill will have a z-step (rough spacing) of .125”. This means that it will cut a part in 3mm depth increments. This may increase or decrease with softer or harder materials, see section 4.3.

Finish Cuts:

When cutting pockets the desire to have finish passes may be relevant. Within the In Z set of parameters one will additionally find Finish Passes and Finish Spacing. Finish passes is the number of finish passes, finish spacing is the amount of material


one wants removed when executing each finish pass.

2 Axis Options:

Check to see that the rapid plane matches your rapid plane dimension in the cut control window. If not, adjust, and click on the APPLY button at the bottom right of the window.

* Click outside of a profile

* Click OK

2.2 Z Rough (site models) SURFCAM User’s Manual: 2:Ch 5:3Axis:Z Rough: 5.3:pp119-133

If starting with NURBS only

* Main Menu

* Create

* Surface

* Cross Section

* Sections

* Single

* Multiselect on

* Pick the profiles

* Done

Once a Surface is constructed or successfully transferred into SURFCAM one must analyze its parameters prior to generating an NC sequence.

* Main Menu

* Analyze

* Distance

* Sketch


Click on the lowest point of the surface (negative Z) then at Z=0.

A window will pop up with the information of the total Z depth of the model. Write this down. 

To ensure that the NC sequence will run on the correct side of the surface one must additionally check the surface normals prior to starting the sequence.

* Main Menu

* Edit

* Surface

* Direction and Side

Side determines which side in Z the end mill will cut from. This should always be the top, or in the Z positive direction.

Direction determines in X, Y which direction the end mill will cut from. In effect, this will set the end mill to cut in a latitudinal or longitudinal manner depending on which direction the normal is set to. This is a matter of preference and finish.

Setting up the NC Sequence

* Main Menu

* NC

* NC Mode

* 3 Axis

* Z Rough

* Pick the surface(s) to be cut

For multiple surfaces use Multiselect on

A window will appear requesting the Material Height and the technique for locating the end mill.


The Material Height is the depth that was analyzed above, rounded to the


nearest/greater mm/in. There are several options for locating the end mill, for Z rough, top profile is what is most often used.

Top profile:

When rough cutting a part an area that defines the perimeter of the cutting area is necessary. This is the bounding box drawn in Maya/Alias or some first party software. For rough cutting surfaces the bounding box should enclose the shape while leaving enough room for the bit (considering its diameter) to maneuver and plunge.

In addition, when cutting multiple surfaces the option for no material may be useful.

Once selected, the SURFCAM 3axis Z Rough window will be displayed on the screen. There are three windows one must move through in order to set up the file for post processing, tool information, cut control, z rough.

Tool Information: Refer to section 3.1 for elaboration on the tool information window.

Select the end mill size and type (which for Z rough is flat) and program the NC sequence for the tip.

Cut Control: Refer to section 3.1 for elaboration on the cut control window.

Method to be cut: conventional

Rapid plane = .25”

Surface tolerance:

Typically the default setting of .1 should be fine. This determines the surface detail, so if detail is not registering, which should be, increasing the surface tolerance will increase definition.


Z step:

To be set by the end mill and the material. Refer to section 3.1 Rough Spacing

X, Y step:

Otherwise known as the step over of an end mill. This will determine the texture or smoothness of a surface. The greater the step over, the rougher the texture will be. For most cutting, a dimension slightly smaller than the diameter of the bit itself will give a fair finish. For instance, with a .25” end mill one would set this to .1875”

Rapid plunge clearance:

Typically the default setting of .1 should be adequate. This is simply the speed at

which the bit will approach plunging locations.

Z Rough Pocket:

Set to spiral or zigzag depending on the desired finish.

OK

2.3 Cut (finish surface) SURFCAM: User’s Manual: 2:Ch 5:3Axis:Z Rough: 5.2:pp118-133  Single Sided

* Setting up the NC Sequence

* Main Menu

* NC

* NC Mode

* 3 Axis

* Cut

* Select surface

SURFCAM will only allow individual sequences for finish cuts. These can be chained

in the NC Operations Manager, refer to section 3.4

Once selected, the SURFCAM 3axis Z Rough window will be displayed on the


screen. There are three windows one must move through in order to set up the file for post processing, tool information, cut control, z rough.

Tool Information: Refer to section 3.1 for elaboration on the tool information window.

Select the end mill size and type (which for Cut is ball) and program the NC sequence for the center.

Cut control:

Stock to leave = 0

One is not excavating a surface from the material, but finishing it.

Step type = Increment

This is the distance between cuts measured along the surface and allows one to set

it by defining the step size.

Step size = 2:

This is the finish of the surface, its “grooviness”. Typically, 2 will give adequate results. For extremely smooth surfaces this should be set higher, but will increase the run time.

Retrace = Bidirectional:

How often the bit is cutting. Typical, means it is cutting one stroke, then retracting, returning near the beginning of the prior stroke and cutting again. Bidirectional means the bit is always cutting. Bidirectional is typical as it minimizes cutting time.

Rapid plane = 6mm

Gouge check - None

For more complex procedures this may become useful. For instance, if the curvature

of the tool is greater than the surface or there are adjacent surfaces that may get


gouged. Single Surface, will check the curvature of the tool and compensate for undercut conditions. Multi Surface will check adjacent surfaces and determine which surfaces should be avoided.

OK

2.4 Simulation and post processing

SURFCAM User’s Manual: 2:Ch 9:Operations Manager: Ch 10:PostProcessing and

SDNC: pp. 251-327

* Pick NC Operations Manager Menu

The NC Operations Manager Menu allows one to post process, simulate and group NC routines. It works very similar to most file managers, where one can rename NC operations and drag them between setups. Dragging between setups is otherwise known as chaining.

Simulation:

* Pick NC file

* Pick SURFCAM Verify

* Select the Model menu

Stock

Box _ at corner 2, z=0.

* Select Options menu

Check show tool and beep when error

* Select View menu

Check enhanced graphics

Turbo off

* Select Verify Menu


Check simulation mode

* Press play

Post Processing:

There are standard sets of post processors, which come with any manufacturing software. Each post processor scripts G-Code in a manner particular to certain CNC machines. The post processor for our Precix machine is the Precix post processor.

* Pick NC Operations Manager Menu

* Select NC Operation(s) which are to be manufactured

* Select Precix Post Processor

* Select POST

A file with G Code will appear. SURFCAM saves all posted files as NCC files. In order to make them compatible with the Precix mill they must be resaved substituting the NCC prefix with .gc.

* Select file

* Select “save as”

* Save file as “filename.gc”.


III: Milling Procedures

3.0 Chronological overview

It is a good idea to develop a consistent method or order of procedures for starting up any job sequence. The following is the suggested order of things, which are outlined in detail in the remaining part of this section.

* Make sure the machine is plugged in

* Turn on the Precix computer

* Place floppy in computer (if transferring with floppy diskettes)

* Set spindle speed to remote

* Home the mill

* Insert end mill

* Place work piece on bed

* Move to origin ensuring z=0

* Turn on router

* Check all T-slot hold-downs

* Set Z

* Set Z origin Z-O and Z-M

* Load file

* Preview job output twice

* Ensure that cutting speed button is selected in the speed override menu

* Turn on dust vacuum located on gantry

* Start


3.1 Set up

Placing a Work Piece:

One must always place work pieces on the table securing them using T-slots and locating it with two square corners. Ensure that the work piece will not interfere with the current position of the router or end mills.

Test the degree to which a work piece is secured prior to starting any job. The use of double stick tape, and as mentioned in the section on Hold-down, mounting work pieces to larger work pieces might be desirable.

Z travel of the Precix Router:

* There is 12” of Z travel on the Precix Router.

* The shank, when at Z=0 is 10” above the surface of the table.

* The shank when at Z-M (which is 6”) is 4” from the surface of the table

* End mills have anywhere from 1.125 – 1.625” of shaft prior to the fluted region.

* As previously stated (section 2.2) there are various end mill lengths available in the lab.

* The nominal cutting travel for the Precix router is .25”

This is total length one could cut, with an end mill, which is 2.25” in length. There

are two principles that must be digested in order to anticipate depth errors:

First, the Z travel for the router is 6”. The reason its nominal cutting travel is 5.5” is in order to take into consideration the rapid plane and stock to leave (.25” each). Calculating whether or not a file is permissible within a 6” window is done by the following formula:

Depth of cut + rapid plane + stock to leave < or = to 6”

If one is cutting a surface where 5.5” is the maximum depth, the top 1.5” of the “pocket” removed for that surface must be able to accommodate the width of the shank and perhaps even the router. This is a result of the fact that, the shank is


located, when at a maximum of 6” from Z=0, only 4” from the surface of the bed. If one put an end mill in the router which extended 5.5” from the end of the shank for an NC sequence which traveled 6” in Z, the end mill would drive into the bed 2”. Therefore, when executing deep NC sequences, one should never extend an end mill beyond 4” from the face of the shank. In addition, the clearance for the first 1.5” of depth of the cutting routine should be able to accommodate the width of the shank of the router

Mounting and extracting end mills/extensions:

The general rule of thumb is that one wants to extend end mills as little as possible so as to prevent torque or bending of end mills/extensions. Thus, there is a fine line between cutting deep and putting too much force on an end mill. Minimizing end mill length and maximizing its depth within the shank/router will provide for more accurate results. Often times, if a bit is not mounted very deeply within a collar, it may slip further into the collar creating inaccuracies within a model. End mills may even fracture, though unlikely with Carbide end mills, when too much torque stress is placed on them. THIS CAN BE EXTREMELY HAZARDOUS. No end mills or collars should be forced from the shank of the router. Ask, or wait until Lab Personnel can assist if one is having problems either mounting an end mill or extracting one

At the end of the router is a shank, into which end mill collars can be placed. The 1/2” end mill collar and the 1/4” end mill collars will fit in the shank

* Hand set the end mill collar within the shank (it is mounted once it clicks in)

* Using the gloves gently insert end mill into collar. Pay attention to the amount of extension away from the shank and how deep it is mounted into the collar

* Tighten shank firmly (by hand) onto router

* Using the wrenches secure the shank (with the end mill inserted) to the router


Hold-down:

The Precix Router utilizes a T-slot table to secure work pieces to the manufacturing bed. Typically uses a minimum of 4 T-slots once the work piece is placed on the bed, the file is loaded, and one is about to begin cutting or set Z-0. Sometimes specialized T-slot jigs may need to be made to accommodate certain materials – See your Assistant or Shop Personnel about necessary clamping of your material

All work pieces, must be double-checked, prior to manufacturing to ensure that they are securely fastened to the table

Small parts may require fastening to larger pieces of scrap material to ensure adequate clamping to the table. The larger the surface area of the work piece, the better range of T-slot clamping. In addition, awkwardly shaped work pieces may necessitate specialized jigs for clamping

Dust vacuum:

The dust vacuum must be turned on while milling. It is located on the gantry and

pausing of your work may be necessary for emptying if it gets full

3.2 Positioning the machine

When locating the router, one must calibrate the router, or HOME it. Then, one needs to locate the router in X, Y at the corner of the piece and locate the router in Z at the top of the material. In addition, one has to set the Z limit of the router so it will not error; this is setting the ORIGIN

Homing

The mill has a predefined location from which it can calculate all NC sequences; this

is referred to as its home. The coordinates of this should never be manipulated


* Ensure that the work piece, tools and any other miscellaneous items are out of the way and clear of the router and the end mill (if one has been located in the shank)

* On the Precix computer press HOME

This will move the router to its home position

This must be done prior to starting any NC sequence

It can be confirmed by observing the absolute coordinates window noting that it is set to 0,0,0. In addition the HOME button will change to HOMED

Moving to Origin

Moving to Origin is different than moving to Home. Moving to Origin is moving to the

zero point, beginning point of the work

* Ensure that the router is at Z=0 by checking the absolute and origin coordinates at the top of the screen

* If Z does not equal 0 then set to 0 using the mouse

* Click on the Z-0 button. The green arrow should locate itself where the horizontal bar is located (at approximately 0)

* Set Z-M to a number fractionally below your material thickness

* Click the numerical value window next to Z-M

* Set the value to your fractional amount below your material thickness in the numerical input window which has opened

* Press enter

* The red arrow should be below the green arrow. They should be at opposite ends of the Z set window

* Turn on the router if it is not already.

* Ensure that the spindle speed is set to remote

* Ensure that its speed is no greater than 18,000 rpm, and is set for the material


* Turn on the dust vacuum located on the gantry

* Check your T-slots to make sure the work piece is securely fastened

* Click Move to Origin. The first click will set the Z, if it is other than what the origin is set to.

* Click Move to Origin again to set to X, Y coordinates.

* Using the mouse, utilize the Auto Z functions and plate to set your Z-0.

* Set Z-up to 2”. This will insure that in the Z-up position, your bit is always 2” above your work-piece.

* The Mill is prepped and one is now ready to load the file.

3.3 How to set speed

Cutting speed:

Rate at which the tool is fed into the piece. This otherwise known as the feed rate and is located in the job configuration window of the Precix console. This is measured in inches/second and varies depending on the material. Typically it should be set to 1.0.

Spindle speed

It is rate at which the end mill rotates. The spindle speed at the Precix console is currently set to automatic and should not be adjusted. The spindle speed is set by the controller mounted at the side of the table, and should always be run remotely. This is measured in Revolutions Per Minute (RPM) and typically should not exceed 14000.

Traverse speed

It is rate at which the machine will move when not cutting. This otherwise known as

surface speed and is also controlled in the Job Configuration window of the Precix

console.

Suggested Material Feed Rates


We are still in the process of determining the performance capabilities of the Precix router. There are not set rules for ensuring safe feed rates or spindle speeds for materials. Typically one should be conservative. If an accident occurs as a result of running the mill at an unapproved speed, use of the equipment may be suspended. In addition, when using extensions or doing excessively deep cutting, it is recommended that one reduces the cutting speed.

As this is set to speed override on the Precix console, the rules of thumb is that if things start vibrating, moving or if the cutting is excessively noisy, stop the job and slow things down. In addition, it is always a good idea to do small demos of models with the material prior to doing a finish model. Basically, one develops a good sense of the capabilities of the machine over time.

Cutting speed for most materials should be 1.0

Spindle speeds:

MDF 15000-18000

Acrylic 10000

Foam 8000

Aluminum sheets/contours 10000

3.4 Loading Files

In the explorer > tools > map network drive

Dialog box > path \\precix\files

Copy files into folder of current month

When using a floppy:

? Add job to cue


At Console:


* Select as current job

* Select job in cue to run

* Select Job Output

Job Operation window will open

The job operation window allows one to control speeds of job and to preview (in plan only) what the mill will do. One must always ensure that the cutting speed is set properly and preview a job twice prior to running it.

* Select preview

* Sleet reset

* Select preview

In the Job Configuration portion of the window

* Select the cutting speed button (this allows for speed override)

* Set appropriately to material (typically 1.0)

* Ensure that spindle speed (at the console) is set to automatic


3.5 Operating

* Starting a job

* Load the file (section 4.5)

* In the Job Operation window locate the start button

* Prior to pressing the button ensure that all paraphernalia is out of the way of mill

* Stand facing the router

* The START button will turn into the STOP button as soon as one has begun a job.

* Press START

* Keep finger on the mouse

* Watch router and ensure that it is safe and running according to expectations

Pausing a job

* Where the START button was located one will notice it now reads STOP

* Select STOP

* Stop router if needed

* Make adjustments

* Select RESUME

One may monitor the progress of a job from the Job Operation window. In addition, if one needs to leave for any amount of time it is required that the job is paused. Anyone disobeying this protocol may have his or her privileges revoked or suspended.

EMERGENCY STOPS

* ALWAYS SELECT STOP AT THE PRECIX CONSOLE PRIOR TO STOPPING THE SPINDLE SPEED ON THE ROUTER

* Select STOP

* Turn off router at the controller mounted at the side of the table


3.6 Shut Down

* Select DONE from the Job Operation window

* Move router away from part X, Y, Z

* Turn off router

* Vacuum off part

* Turn off vacuum

* Extract end mill and put away, in its case, in cabinet

* Remove collar and put away, in its case, in cabinet

* Remove part

* Locate router in the center of the table

* Remove file from cue

* Remove floppy diskette, if necessary


IV: Technical Glossary/info

4.0 End mills

All bits for the CNC router are called end mills. This is simply the name for a more sophisticated version of something similar to a drill bit. In our lab we will mainly utilize ball end mills and flat end mills. Both are utilized for different types of cutting and must be set up differently _ refer to section III for a more detailed description. The principle difference between them is their profile shape.

Ball end mills have a ball nosed profile, enabling them to do more complex shaping maneuvers, and move freely and easily in the X, Y, Z continuum.

Flat end mills have a flat profile and are limited, principally, to X, Y cutting.

Flutes:

The fluting of a bit is the amount of cutting edge that wraps around the shaft. In our lab, we have an assortment of differently fluted end mills. One can get more cutting with the same speed, and run harder materials with more flutes.

4.1 General Parameters of Precix 4400 CNC Mill

Large mill:

Cutting window = 48”x96” (4’x8’)

Z depth = 12”.

Orientation x=96”, y = 48”


CHAPTER 5

Ambiguities and Confusions

Between Reporting and Conduct

Kenneth F. Schulz1, David Moher2 and Douglas G. Altman'

1FHI 360, Durham, and UNC School of Medicine, Chapel Hill, NC, USA

2Clinical Epidemiology Program, Ottawa Hospital Research Institute, Ottawa, ON, Canada

'Centre for Statistics in Medicine, University of Oxford, Oxford, UK

Theoretically, the reporting and conduct of research should be in harmony. Indeed, we argue that good reporting is an essential part of good conduct. In practice, however, while good reporting promotes enlightenment and clarity, poor reporting creates ambiguities and confusions. In addition, further confusion arises because a study can be excellently reported but poorly conducted or poorly reported but excellently conducted.

 The primary goal of reporting guidelines is clarity, completeness, and transparency of reporting (see Chapter 1) [1, 2]. This allows readers to judge the validity of the methods and results, enabling them to develop an informed, enlightened interpretation and, for those interested researchers, to replicate the methods. Indeed, most reporting guidelines, such as the CONSORT 2010 Statement ['], do not incorporate requirements or recommendations for designing and conducting research. Reporting guidelines focus solely on a research report describing what was done and what was found [1, 2]. Obviously, reporting properly does not directly improve the design or conduct of a study, and adherence to a reporting guideline does not confer any stamp of quality on the research conduct.

 Most developers of reporting guidelines embrace an intense interest in improving the design and conduct of health research. Nonetheless, they must relegate that interest to a secondary, indirect goal of their guideline. They hope that better design and conduct will materialize as a byproduct of proper reporting, which forces investigators who design and conduct deficient studies to divulge those deficiencies when they publish. Thus, good reporting in this instance provides enlightenment and clarity to readers while producing unease in authors. That unease, however, is encouraged by guideline developers as a constructive path to improve design and conduct in the future.

Guidelines for Reporting Health Research: A User’s Manual, First Edition. Edited by David Moher,

Douglas G. Altman, Kenneth F. Schulz, Iveta Simera and Elizabeth Wager.

© 2014 John Wiley & Sons, Ltd. Published 2014 by John Wiley & Sons, Ltd.


41


42 Guidelines for Reporting Health Research: A User’s Manual

 A further confusion between reporting and conduct emanates from the misuse of reporting guidelines. This misuse often takes the form of researchers using a guideline to develop a quality score for conduct of studies. Such a process is not advocated in most reporting guidelines, as stated in the CONSORT 2010 statement:

Moreover, the CONSORT 2010 statement does not include recommendations for designing and conducting randomized trials. The items should elicit clear pronouncements of how and what the authors did, but do not contain any judgments on how and what the authors should have done. Thus, CONSORT 2010 is not intended as an instrument to evaluate the quality of a trial. Nor is it appropriate to use the checklist to construct a “quality score.” [2]

 Still, some researchers have misused CONSORT as a basis for a quality score. CONSORT only states what to report but does not offer any judgment as to what is good and what is bad. Certainly, if authors report according to CONSORT, readers have the information needed to make their own judgments on the quality of design and conduct, but CONSORT does not indicate how they should make those judgments. CONSORT specifically, and reporting guidelines in general, were not conceived to serve as a springboard to a quality score. Moreover, the entire industry of quality scores is suspect [3]. This misuse of reporting guidelines creates confusion in the assessments of conduct.

Examples of item-specific scenarios

Some individual items in reporting guidelines elicit clear, unambiguous information on conduct. For example, Item 1a in CONSORT 2010 asks for “identification as a randomized trial in the title.”

 However, other items can engender ambiguities and confusions between reporting and conduct that complicate the use of reporting guidelines. For most of us, those item-specific difficulties are hard to grasp abstractly, but examples are more easily understood.

Allocation concealment from the CONSORT 2010 statement

As examples, we use conduct and reporting of an envelope method of allocation concealment in a randomization scheme, under different scenarios. As stated by some authors, an adequate envelope method would at a minimum use sequentially numbered, opaque, sealed envelopes


Ambiguities and Confusions Between Reporting and Conduct 43

[4–6]. This represents a quality criterion for this item. If the description of allocation concealment reported in an article meets that quality criterion, a reader would likely judge the trial to be of good quality on the allocation concealment item in CONSORT 2010. With this as a baseline quality criterion, we present a few item-specific scenarios that serve as examples.

Scenario 1: Excellent reporting of excellent conduct

In this scenario, the authors have harmonized reporting and conduct. A superb example is the following:

.. .The allocation sequence was concealed from the researcher (JR) enrolling and assessing participants in sequentially numbered, opaque, sealed and stapled envelopes. Aluminium foil inside the envelope was used to render the envelope impermeable to intense light. To prevent subversion of the allocation sequence, the name and date of birth of the participant was written on the envelope and a video tape made of the sealed envelope with participant details visible. Carbon paper inside the envelope transferred the information onto the allocation card inside the envelope and a second researcher (CC) later viewed video tapes to ensure envelopes were still sealed when participants’ names were written on them. Corresponding envelopes were opened only after the enrolled participants completed all baseline assessments and it was time to allocate the intervention [7].

   This description includes the quality criterion of sequentially numbered, opaque, sealed envelopes but also incorporates many other methods that greatly strengthen allocation concealment. This excellent reporting of excellent conduct leaves little room for confusion or ambiguity.

Scenario 2: Incomplete, ambiguous reporting of excellent conduct

If investigators actually conducted a trial following the methods described in Scenario 1 but described their allocation approach as simply “sequentially numbered, opaque, sealed envelopes,” that description would be true but incomplete. Moreover, the apparent reporting would be considered adequate reporting by many readers because it meets the sequentially numbered, opaque, sealed envelope quality criterion. Even so, the actual reporting is incomplete and ambiguous because it does not convey the true strength of this allocation concealment approach.


Scenario 3: Poor, ambiguous reporting of excellent conduct

Investigators actually conducted a trial following the methods described in Scenario 1 but described their allocation approach as simply “sealed, opaque envelopes.” That description would be true but distinctively incomplete. Generally, a reader would classify this description, based on the quality criterion, as ambiguous because the investigators might have only used sealed, opaque envelopes that were not sequentially numbered.

  In actuality, just reporting the excellent conduct described in Scenario 1 as simply “sealed, opaque envelopes” is poor, incomplete reporting. Readers of articles face enormous ambiguity when they are confronted with that incomplete description because they have no concrete idea whether the conduct was poor or excellent.


44 Guidelines for Reporting Health Research: A User’s Manual

Scenario 4: Poor, ambiguous reporting of excellent conduct

Investigators actually conducted a trial following the methods described in Scenario 1, but they failed to provide any details of their approach to allocation concealment, that is, no mention of envelopes, let alone adjectives. Generally, readers would consider this apparent reporting as unclear. This unclear, obscure reporting could represent anything from poor to excellent conduct. In this case, poor reporting camouflages excellent conduct.


Scenario 5: Excellent reporting of inadequate conduct

Assume that investigators used sealed, opaque envelopes that were not sequentially numbered, which would be considered inadequate conduct. If authors reported that they used “sealed, opaque envelopes” and explicitly stated that “the envelopes were not sequentially numbered,” we would classify this description as excellent reporting of inadequate conduct. Owing to adequate, clear, and transparent reporting, no confusion or ambiguity would exist, even though the conduct was inadequate.


Scenario 6: Ambiguous reporting of inadequate conduct

Again assume that investigators used sealed, opaque envelopes that were not sequentially numbered. If authors reported that they simply used “sealed, opaque envelopes,” this reporting is unclear because the authors may have used envelopes that were also sequentially numbered but just failed to report that fact. Scenarios 5 and 6 represent similar situations except that the authors in Scenario 5 have made it clear that sequentially numbered envelopes were not used. That led to the reporting being excellent in Scenario 5, whereas in Scenario 6 the reporting is unclear. Admittedly, these judgments are nuanced, but this illustrates the ambiguities between reporting and conduct. Whenever authors report simply “sealed, opaque envelopes” without clarifying information, ambiguity and confusion are created. Scenario 6 is, to a reader, indistinguishable from Scenario 3 above. Readers are confused whether this represents good reporting of inadequate conduct or poor reporting of adequate conduct.


Scenario 7: Inadequate, fallacious reporting of inadequate conduct

Authors reported that they used sequentially numbered, opaque, sealed envelopes, but they actually only used opaque, sealed envelopes that were not sequentially numbered. This form of fabricated, misleading reporting to give the appearance of having met some quality criterion (which in fact was not met) worries many of us who develop reporting guidelines. A quality criterion should be a goal by which investigators adjust conduct and not by which they adjust reporting. This scenario is particularly pernicious because it falsely describes inadequate conduct as adequate.


Ambiguities and Confusions Between Reporting and Conduct 45

Sequence generation from the CONSORT 2010 statement

As another example of less obvious ambiguities, we shall use conduct and reporting of a sequence generation method in a randomization scheme under different scenarios. As stated in some publications, an adequate sequence generation method would, at a minimum, use a specified method of randomization, such as a random number table or a reasonable computer random number generator [4–6]. This represents the quality criterion for this item. If that is reported in an article, a reader might judge the trial to be of good quality on the sequence generation item in CONSORT 2010. However, ambiguities and confusions can occur between reporting and conduct.

 Assume that investigators used a computer random number generator to select random permuted blocks of size 6. In some instances, this might be considered adequate sequence generation, such as in trials where everyone is totally blinded [8, 9]. However, the trial in this example is unblinded (open-label), meaning everyone knows the treatment assigned to a participant after randomization. Thus, fixed block sizes may be discerned by the pattern of past assignments, with the obvious consequence being that some future assignments can be accurately anticipated [8, 9]. Scenarios 8 and 9 depict scenarios of reporting this form of inadequate conduct of sequence generation.

Scenario 8: Poor, ambiguous reporting of inadequate conduct

Authors used the approach just discussed but reported their sequence generation approach as using a computer random number generator. In the absence of clarifying information, this description would be interpreted by many readers as implying a simple randomization scheme, which is adequate randomization to prevent bias under virtually all circumstances. By the quality criterion for sequence generation, many readers would judge this as apparently adequate reporting of adequate conduct. However, more astute readers, knowing this was an unblinded trial and that the authors did not explicitly state that simple randomization was used, might consider the reporting to be unclear. In any case, however, ambiguities exist between reporting and conduct. We would consider this actually poor (incomplete) reporting of inadequate conduct.


Scenario 9: Excellent reporting of inadequate conduct

In this scenario, the actual conduct was the same as that in Scenario 8. However, in Scenario 9 the authors completely and transparently reported that they used a computer random number generator to select random permuted blocks of size 6. We view this as excellent reporting of inadequate conduct in this instance. Under this scenario, ambiguities and confusions dissipate.


46 Guidelines for Reporting Health Research: A User’s Manual

Discussion

Owing to the lack of complete and transparent reporting, ambiguities and confusions abound in the medical research literature. It is no wonder that peer reviewers and readers become uneasy and perplexed over manuscripts, whether submitted or already published. A medical epidemiologist friend terms this unease “dumbfounding.” Without adequate reporting, an ensuing knowledge abyss overwhelms readers, peer reviewers, and systematic reviewers. Indeed, for systematic reviewers, incomplete reports of studies enormously complicate the entire review process.

 We hope our use of scenarios gives some clue as to the difficulties created by inadequate reporting. We rely on scenarios involving the CONSORT 2010 statement [2, 10] because it is the most familiar reporting guideline to readers and presents, arguably, the most complicated reporting issues. Nevertheless, analogous misuses and ambiguities arise from other reporting guidelines, such as STROBE [11].

 What also should be clear from the scenarios presented is that ambiguities and confusions dissipate with adequate reporting. Granted, reporting guidelines may breed some unease in authors of poorly conducted studies, but this is constructive unease that encourages better study conduct in the longer term. Most importantly, complete, clear and transparent reporting eliminates ambiguities and confusions.

 Reporting guidelines form part of the solution to inadequate reporting. Nevertheless, guidelines by themselves offer meager assistance if they are not used by authors, peer reviewers, and editors [12]. Additional emphasis on knowledge translation should unleash more of the benefits from existing reporting guidelines.

References

1 Moher, D., Schulz, K.F., Simera, I. & Altman, D.G. (2010) Guidance for developers of health research reporting guidelines. PLoS Medicine, 7, e1000217.

2 Schulz, K.F., Altman, D.G. & Moher, D. (2010) CONSORT 2010 statement: updated guidelines for reporting parallel group randomised trials. BMJ, 340, c332.

3 Jüni, P., Witschi, A., Bloch, R. & Egger, M. (1999) The hazards of scoring the quality of clinical trials for meta-analysis. JAMA, 282, 1054–1060.

4 Altman, D.G. & Doré, C.J. (1990) Randomisation and baseline comparisons in clinical trials. Lancet, 335, 149–153.

5 Schulz, K.F., Chalmers, I., Hayes, R.J. & Altman, D.G., (1995) Empirical evidence of bias. Dimensions of methodological quality associated with estimates of treatment effects in controlled trials. JAMA, 273, 408–412.

6 Schulz, K.F., Chalmers, I., Grimes, D.A. & Altman, D.G. (1994) Assessing the quality of randomization from reports of controlled trials published in obstetrics and gynecology journals. JAMA, 272, 125–128.


Ambiguities and Confusions Between Reporting and Conduct 47

7 Radford, J.A., Landorf, K.B., Buchbinder, R. & Cook, C. (2006) Effectiveness of low-dye taping for the short-term treatment of plantar heel pain: a randomised trial. BMC Musculoskeletal Disorders, 7, 64.

8 Schulz, K.F. & Grimes, D.A. (2002) Unequal group sizes in randomised trials: guarding against guessing. Lancet, 359, 966–970.

9 Schulz, K.F. & Grimes, D.A. (2002) Generation of allocation sequences in randomised trials: chance, not choice. Lancet, 359, 515–519.

10 Moher, D., Hopewell, S., Schulz, K.F. et al. (2010) CONSORT 2010 Explanation and Elaboration: updated guidelines for reporting parallel group randomised trials. Journal of Clinical Epidemiology, 63, e1–e37.

11 da Costa, B.R., Cevallos, M., Altman, D.G., et al. (2011) Uses and misuses of the STROBE statement: bibliographic study. BMJ Open, 1, e000048.

12 Simera, I., Moher, D., Hirst, A., et al. (2010) Transparent and accurate reporting increases reliability, utility, and impact of your research: reporting guidelines and the EQUATOR Network. BMC Medicine, 8, 24.


Tidak ada komentar:

Posting Komentar