A Methodology For Supporting Design Grammar Development And Application In Computational Design Synthesis