Motion Design and Analysis with Function-Blocks