Reverse Engineering Forward Engineering