© 2021 Insight Resources

software resources for science and technology education

Insight Problem Solving Language (IPSL)

A good method of devising a solution to a control problem is to break it down into simple stages and attempt to describe each stage in plain English. These descriptions are likely to be expressed in a variety of different styles, all of which may be perfectly valid grammatically. There is however a preferred style which makes it easy to convert the descriptions into coded instructions within a computer. This is the basis of IPSL sentences which are designed to have a common and logical structure that is readily understood and executed by the program. As you get to know Insight iCON, you learn to express your solution in IPSL sentences so that there is a close match between your own sentences and the instructions generated by the program.

Here is a typical IPSL instruction:

"When the button is pressed, ring the bell until the button is released."

This is structured in three parts:  

"When the button is pressed, ring the bell until the button is released."

In general the three parts describe the following actions:

1. When something happens or a condition is fulfilled... (the WHEN setting)

2. ...do something... (the action)

3. ...until something else happens or a second condition is fulfilled. (the UNTIL setting)

IPSL instructions are built in Design mode by choosing the appropriate WHEN setting for Part 1, the instruction type and the device to be controlled for Part 2, and the UNTIL setting for Part 3.  As the settings are adjusted, so the IPSL instruction becomes automatically updated. The settings are the critical features which determine the functionality of the control system. The consequent IPSL instruction expresses these settings in a readily understood form. As users develop their programming skill, they learn the significance of these settings and associate them with the instructions.

Examples of part 1:

"When the switch is closed..."

"When it gets hot..."

"When the lamp is off..."

"After 2 seconds..."

 If not required, Part 1 can be omitted altogether, in which case the 'do something' action is performed straight away, unconditionally.

Examples of part 2:

"...switch on the buzzer..."

"...measure the time..."

"...count how many times the button is pressed..."

Examples of part 3:

"...until the switch is open."

"...until the lamp is off."

"...for 5 seconds."

If appropriate, Part 3 can also be omitted, in which case the 'do something' action continues until you exit Run mode.