 On the other hand, table-driven state machines themselves suffer from significant weaknesses including state explosion phenomena.A solution for this is to use Petri nets.An event-driven approach is used in hardware description languages.