Abstract

The GeoGram system [21]generates programs for geometric computations by combining generic software components as specified by diagrams constructed using a graphical interface. The user specifies known and desired quantities. As diagrams are constructed, the system maintains symbolic geometric facts describing the construction. Inferences based on the diagram are used to derive new facts and to introduce new objects based on geometric reasoning, to filter choices presented to the user, to interpret the user's intention in ambiguous cases, to detect over-specification, and to generate the program. A knowledge base of descriptions of generic software components is used to prove that features of the geometry can be computed from known values. These local proofs are combined to guide generation of a program that computes the desired values from inputs. The library of generic geometric program components is used to generate both in-line code and specialized subroutines; partial evaluation improves the efficiency of the generated code. The resulting program is automatically translated into the desired language. The program can also be run interactively to simulate the geometry by generating graphical traces on the diagram as input quantities are varied.
- Robert L. Akers, Elaine Kant, Curtis J. Randall, Stanly Steinberg, and Robert L. Young. Scinapse: A problem-solving environment for partial differential equations. IEEE Computational Science and Engineering, 4(3):32--42, July 1997. www.scicomp.com. Google Scholar
Digital Library
- Alice web site. www.alice.org.Google Scholar
- Robert Balzer. A 15 year perspective on automatic programming. IEEE Trans. Software Engr., 11(11):1257--1267, November 1985. Google Scholar
Digital Library
- Don Batory, Jacob Sarvela, and Axel Rauschmayer. Scaling step-wise refinement. IEEE Trans. Software Engr., 30(6):355--371, June 2004. Google Scholar
Digital Library
- Ira D. Baxter, Christopher Pidgeon, and Michael Mehlich. Dms: Program transformations for practical scalable software evolution. In Proc. Intl. Conf. Software Engr. IEEE Press, 2004. Google Scholar
Digital Library
- Sanjay Bhansali and Tim J. Hoar. Automated software synthesis: An application in mechanical cad. IEEE Trans. Software Engr., 24(10):848--862, October 1998. Google Scholar
Digital Library
- Alan Borning. The programming language aspects of thinglab, a constraint-oriented simulation laboratory. ACM Trans. Programming Languages and Systems, 3(4):353--387, October 1981. Google Scholar
Digital Library
- Burmester link. gtrebaol.free.fr/doc/flash/four_bar/doc/.Google Scholar
- Shang-Ching Chou. Mechanical Geometry Theorem Proving. Kluwer Academic Publishers, 1987. Google Scholar
Digital Library
- Shang-Ching Chou, Xiao-Shan Gao, and Jing-Zhong Zhang. A deductive database approach to automated geometry theorem proving and discovering. J. Automated Reasoning, 25(3):219--246, 2000. Google Scholar
Digital Library
- Cinderella web site. www.cinderella.de/tiki-index.php.Google Scholar
- Krzysztof Czarnecki and Ulrich W. Eisenecker. Generative Programming: Methods, Tools and Applications. Addison-Wesley, 2000. www.generative-programming.org. Google Scholar
Digital Library
- Thomas Ellman. Specification and synthesis of hybrid automata for physics-based animation. Automated Software Engineering, 13(3), 395--418 2006. Google Scholar
Digital Library
- Marc Freixas, Robert Joan-Arinyo, and Antoni Soto-Riera. A constraint-based dynamic geometry system. Computer-Aided Design, 42(2):151--161, February 2010. Google Scholar
Digital Library
- Xiao-Shan Gao. Automated geometry diagram construction and engineering geometry. In ADG-98, LNAI 1669, pages 232--258. Springer, 1999. Google Scholar
Digital Library
- Xiao-Shan Gao and Qiang Lin. Mmp/geometer - a software package for automated geometric reasoning. In ADG 2002, LNAI 2930, pages 44--66. Springer, 2004.Google Scholar
- dynamicgeometry.com/.Google Scholar
- Ashok Goel, Swaroop Vattam, Bryan Wiltgen, and Michael Helms. Cognitive, collaborative, conceptual and creative - four characteristics of the next generation of knowledge-based cad systems: A study in biologically inspired design. Computer-Aided Design, 2011. Google Scholar
Digital Library
- National Instruments. www.ni.com/labview/.Google Scholar
- Charles W. Krueger. Software reuse. ACM Computing Surveys, 24(2):131--184, June 1992. Google Scholar
Digital Library
- Yulin Li. The diagrammatic specification and automatic generation of geometry subroutines. www.cs.utexas.edu/forms/tech_reports/reports/tr/TR-1991.pdf, May 2010.Google Scholar
- Michael Lowry, Andrew Philpot, Thomas Pressburger, and Ian Underwood. Amphion: Automatic programming for scientific subroutine libraries. In Methodologies for Intelligent Systems, LNCS 869, pages 326--335. Springer, 2004. Google Scholar
Digital Library
- Hafedh Mili, Fatma Mili, and Ali Mili. Reusing software: Issues and research directions. IEEE Trans. Software Engr., 21(6):528--562, June 1995. Google Scholar
Digital Library
- www.cs.utexas.edu/users/novak/cgi/physdemo.cgi.Google Scholar
- Gordon S. Novak. Glisp: A lisp-based programming system with data abstraction. AI Magazine, 4(3):37--47, Fall 1983.Google Scholar
- Gordon S. Novak. Generating programs from connections of physical models. In Proc. 10th Conf. Artificial Intelligence for Applications, pages 224--230. IEEE CS Press, March 1994.Google Scholar
Cross Ref
- Gordon S. Novak. Conversion of units of measurement. IEEE Trans. Software Engineering, 21(8):651--661, August 1995. Google Scholar
Digital Library
- Gordon S. Novak. Creation of views for reuse of software with different data representations. IEEE Trans. Software Engineering, 21(12):993--1005, December 1995. Google Scholar
Digital Library
- Gordon S. Novak. Software reuse by specialization of generic procedures through views. IEEE Trans. Software Engineering, 23(7):401--417, July 1997. www.cs.utexas.edu/users/novak/. Google Scholar
Digital Library
- Gordon S. Novak. Computer aided software design via inference and constraint propagation. Integrated Computer-Aided Engineering, 16(3):181--191, 2009. Google Scholar
Digital Library
- uva.onlinejudge.org.Google Scholar
- en.wikipedia.org/wiki/Peaucellier-Lipkin_linkage.Google Scholar
- Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach. Prentice-Hall, 2010. Google Scholar
Digital Library
- Steven S. Skiena and Miguel A. Revilla. Programming Challenges. Springer, 2003.Google Scholar
- Douglas R. Smith. Kids: A semiautomatic program development system. IEEE Trans. Software Engr., 16(9):1024--1043, September 1990. Google Scholar
Digital Library
- Armando Solar-Lezama, Liviu Tancau, Rastislav Bodik, Vijay Saraswat, and Sanjit Seshia. Combinatorial sketching for finite programs. In ASPLOS '06. ACM, 2006. Google Scholar
Digital Library
- Mark Stickel, Richard Waldinger, Michael Lowry, Thomas Pressburger, and Ian Underwood. Deductive composition of astronomical software from subroutine libraries. In 12th Conf. on Automated Deduction, LNCS 814. Springer, 1994. Google Scholar
Digital Library
- Watt linkage. en.wikipedia.org/wiki/Watt's_linkage.Google Scholar
- List of interactive geometry software. en.wikipedia.org/wiki/List_of_interactive_geometry_software.Google Scholar
- Sean Wilson and Jacques D. Fleuriot. Combining dynamic geometry, automated geometry theorem proving and diagrammatic proofs. In Proc. European Joint Conf. on Theory and Practice of Software (ETAPS), page 151, 2005.Google Scholar
Index Terms
Generation of geometric programs specified by diagrams
Recommendations
Generation of geometric programs specified by diagrams
GPCE '11: Proceedings of the 10th ACM international conference on Generative programming and component engineeringThe GeoGram system [21]generates programs for geometric computations by combining generic software components as specified by diagrams constructed using a graphical interface. The user specifies known and desired quantities. As diagrams are constructed, ...
DSG-Net: Learning Disentangled Structure and Geometry for 3D Shape Generation
3D shape generation is a fundamental operation in computer graphics. While significant progress has been made, especially with recent deep generative models, it remains a challenge to synthesize high-quality shapes with rich geometric details and complex ...
Specifying behavioral semantics of UML diagrams through graph transformations
The Unified Modeling Language (UML) has been widely accepted as a standard for modeling software systems from various perspectives. The intuitive notations of UML diagrams greatly improve the communication among developers. However, the lack of a formal ...







Comments