Nel suo articolo su Ambienti virtuali (una parte del suo metodo di specifica VFSM) Ferdinand Wagner descrive alcuni nuovi modi di pensare a Boolean Algebra come strumento di progettazione software. Su pagina 4 di questo articolo PDF , quando si descrivono gli operatori nel suo sistema, egli dice questo:
Control statements need Boolean values. Hence, the names must be used to produce Boolean results. To achieve this we want to combine them together using Boolean operators. There is nothing wrong with usage of AND and OR operators with their Boolean meaning. For instance, we may write:
DI_ON OR AI_LARGER_THAN_8.1 AND TIMER_OVER
to express the control situation: digital input is on or analog input is larger than 8.1 and timer is over.
We cannot use the NOT operator, because the result of the Boolean negation makes sense only for true Boolean values. The result of, for instance,
NOT (AI_LARGER_THAN_8.1)
would be ambiguous.
Se "AI_LARGER_THAN_8.1" è accettabile, perché dovrebbe considerare "NOT (AI_LARGER_THAN_8.1)" ambiguo?