module ALARMCKT Title 'Alarm Circuit Example J. Wakerly, Micro Systems Engineering' Declarations PANIC PIN; ENABLEA PIN; EXITING PIN; WINDOW PIN; DOOR PIN; GARAGE PIN; ALARM PIN istype 'com'; " Alias X = .X.; " Helper equation SECURE = WINDOW & DOOR & GARAGE; equations ALARM = PANIC # ENABLEA & !EXITING & !(WINDOW & DOOR & GARAGE); test_vectors ([PANIC,ENABLEA,EXITING,WINDOW,DOOR,GARAGE] -> [ALARM]) [ 1, X, X, X, X, X] -> [ 1]; " 1 [ 0, 0, X, X, X, X] -> [ 0]; " 2 [ 0, 1, 1, X, X, X] -> [ 0]; " 3 [ 0, 1, 0, 0, X, X] -> [ 1]; " 4 [ 0, 1, 0, X, 0, X] -> [ 1]; " 5 [ 0, 1, 0, X, X, 0] -> [ 1]; " 6 [ 0, 1, 0, 1, 1, 1] -> [ 0]; " 7 [ 1, 0, 1, 1, 1, 1] -> [ 1]; " 1F [ 0, 1, 0, 0, 1, 1] -> [ 1]; " 2F [ 0, 1, 0, 1, 0, 1] -> [ 1]; " 3F [ 0, 1, 0, 1, 1, 0] -> [ 1]; " 4F [ 0, 0, 0, 0, 0, 0] -> [ 0]; " 5F [ 0, 1, 1, 0, 0, 0] -> [ 0]; " 6F [ 0, 1, 0, 1, 1, 1] -> [ 0]; " 7F end ALARMCKT