Not sure why it would have to be an *X10* console...
Here's what my DSC system does in a nutshell.
ENTERING--
if Arm'd and Door(s) open - beep warning for 30 seconds - if code entered - OK - else sound alarm (30 second delay is configurable)
if "House is Empty" Arm'd and Interior Motion Sensor tripped - no warning - immediate alarm siren
if "House is Occupied" Arm'd and Interior Motion Sensor tripped - ignore - no alarm siren
if Arm'd and Window Opens/Glass Break Sensor tripped - no warning - immediate alarm siren
.. etc you get the gist.
The DSC defines "zones" - to which you assign Doors, Sensors, etc. The rules above actually apply to Zones.
EXITING --
Enter Code - start beeping 30 second delay - if Door Open and Door Exit - go to "House Is Empty" Arm State
Enter Code - start beeping 30 second delay - if time expires and No Door Open - go to "House Is Occupied" Arm'd State
Enter Code - start beeping 30 second delay - if time expires and Door Open but No Exit - no action - do not Arm
And so on...
Classic Finite State Machine stuff.
Oh - and I have no idea how long the siren goes off before a reset.
All I know is I've never survived long enough to wait it out...