Modeling and Programming Asynchronous Automata Networks: The MOCA Approach