  We introduce hypernode automata as a new specification formalism for
hyperproperties of concurrent systems. They are finite automata with nodes
labeled with hypernode logic formulas and transitions labeled with actions. A
hypernode logic formula specifies relations between sequences of variable
values in different system executions. Unlike HyperLTL, hypernode logic takes
an asynchronous view on execution traces by constraining the values and the
order of value changes of each variable without correlating the timing of the
changes. Different execution traces are synchronized solely through the
transitions of hypernode automata. Hypernode automata naturally combine
asynchronicity at the node level with synchronicity at the transition level. We
show that the model-checking problem for hypernode automata is decidable over
action-labeled Kripke structures, whose actions induce transitions of the
specification automaton. For this reason, hypernode automaton is a suitable
formalism for specifying and verifying asynchronous hyperproperties, such as
declassifying observational determinism in multi-threaded programs.
