| Rev | Line | |
|---|
| [11] | 1 | #PASS: Light is not green both directions at the same time |
|---|
| 2 | AG ( !((farm_light = GREEN) * (hwy_light = GREEN)) ); |
|---|
| 3 | |
|---|
| 4 | #PASS: If car is present on farm road, and timer is long, then eventually the |
|---|
| 5 | #farm light will turn green. |
|---|
| 6 | AG(((car_present = YES) * (timer.state = LONG)) -> AF(farm_light = GREEN)); |
|---|
| 7 | |
|---|
| 8 | #PASS: Regardless of what happens on the farm road, the highway will always be |
|---|
| 9 | #green in the future. |
|---|
| 10 | AG(AF(hwy_light = GREEN)); |
|---|
| 11 | |
|---|
| 12 | #PASS: Even if a car is present on farm road, this does not guarantee that |
|---|
| 13 | #eventually the farm light will turn green. It could be that a car approaches, |
|---|
| 14 | #and then backs away, all before the timer goes long. Having the system satisfy |
|---|
| 15 | #this property is not necessary for safety, it just maximizes the time that |
|---|
| 16 | #the highway light is green. |
|---|
| 17 | !(AG((car_present = YES) -> AF(farm_light = GREEN))); |
|---|
| 18 | |
|---|
| 19 | #FAIL: The opposite of the above formula. Demonstrates the fair CTL debugger. |
|---|
| 20 | AG((car_present = YES) -> AF(farm_light = GREEN)); |
|---|
Note: See
TracBrowser
for help on using the repository browser.