Automated Synthesis of Numerical Programs for Simulation of Rigid Mechanical Systems in Physics-Based Animation

Physics-based animation programs are important in a variety of contexts, including science, engineering, education and entertainment among others. Manual construction of such programs is expensive, time-consuming and prone to error. We have developed a system for automatically synthesizing physics-based animation programs for a significant class of problems: constrained systems of rigid bodies, subject to driving and dissipative forces, under the control of an interactive user. Our system includes a graphical interface for specifying a physical scenario, including objects, geometry and coordinate systems, along with a symbolic interface for specifying dynamical variables, forces and constraints operating in the scenario. The entities defined in the graphical interface serve as the underlying vocabulary for specifications entered in the symbolic interface. Our system partitions the constraints and dynamical variables into classes and assigns each class to be implemented in a different component of a general simulation program scheme. It generates a numerical C++ simulation program that drives a real-time animation of the specified scenario. Our system is implemented as a collection of rewrite rules in the Mathematica programming language. Our approach provides some of the benefits of formal deductive program synthesis, while keeping the computational costs of program synthesis more in line with conventional program generator technology. We have successfully tested our system on numerous examples.

[1]  Michal Rimon,et al.  A knowledge-based prototyping environment for construction of scientific modeling software , 1994, Automated Software Engineering.

[2]  Steve Roach,et al.  Experience report on automated procedure construction for deductive synthesis , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[3]  Subbarao Kambhampati,et al.  Synthesizing Customized Planners from Speci cationsBiplav Srivastava biplav , 2008 .

[4]  Thomas Ellman Specification and synthesis of hybrid automata for physics-based animation , 2004, Automated Software Engineering.

[5]  Wai-Mee Ching,et al.  Sparse matrix technology tools in APL , 1990 .

[6]  Lex Wolters,et al.  Tomorrow's weather forecast: automatic code generation for atmospheric modeling , 1997 .

[7]  E. J. Haug,et al.  Computer aided kinematics and dynamics of mechanical systems. Vol. 1: basic methods , 1989 .

[8]  Douglas R. Smith,et al.  Planware-domain-specific synthesis of high-performance schedulers , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[9]  Grigore Rosu,et al.  Towards certifying domain-specific properties of synthesized code , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[10]  Arjan van der Schaft,et al.  An Introduction to Hybrid Dynamical Systems, Springer Lecture Notes in Control and Information Sciences 251 , 1999 .

[11]  Michael R. Lowry,et al.  A formal approach to domain-oriented software design environments , 1994, Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference.

[12]  Johann Schumann,et al.  Certification support for automatically generated programs , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[13]  Takahiro Murata,et al.  A transformation system for interactive reformulation of design optimization strategies , 1995, Proceedings 1995 10th Knowledge-Based Software Engineering Conference.

[14]  Michael R. Lowry,et al.  META-AMPHION: synthesis of efficient domain-specific program synthesis systems , 1995, Proceedings 1995 10th Knowledge-Based Software Engineering Conference.

[15]  Elaine Kant,et al.  Synthesis of mathematical-modeling software , 1993, IEEE Software.

[16]  Zohar Manna,et al.  Fundamentals of Deductive Program Synthesis , 1992, IEEE Trans. Software Eng..

[17]  Johann Schumann,et al.  Under Consideration for Publication in J. Functional Programming Autobayes: a System for Generating Data Analysis Programs from Statistical Models , 2022 .

[18]  Robert L. Young,et al.  Automatic synthesis of numerical codes for solving partial differential equations , 1998 .

[19]  T. B. Putsyata,et al.  Analytical dynamics , 1973 .

[20]  Suresh P. Sethi,et al.  A Survey of the Maximum Principles for Optimal Control Problems with State Constraints , 1995, SIAM Rev..

[21]  Takahiro Murata,et al.  Deductive synthesis of numerical simulation programs from networks of algebraic and ordinary differential equations , 1996, Proceedings of the 11th Knowledge-Based Software Engineering Conference.

[22]  Mark F. Russo,et al.  Anatomy of AGNES: an automatic generator of numerical equation solutions , 1989 .

[23]  William H. Press,et al.  Numerical recipes , 1990 .

[24]  Thomas Ellman,et al.  Knowledge-based synthesis of numerical programs for simulation of rigid-body systems in physics-based animation , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.