A 15 Year Perspective on Automatic Programming
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Mechanical geometry theorem proving
Mechanical geometry theorem proving
KIDS: A Semiautomatic Program Development System
IEEE Transactions on Software Engineering
ACM Computing Surveys (CSUR)
Software Reuse by Specialization of Generic Procedures through Views
IEEE Transactions on Software Engineering
Automated Software Synthesis: An Application in Mechanical CAD
IEEE Transactions on Software Engineering
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Deductive Database Approach to Automated Geometry Theorem Proving and Discovering
Journal of Automated Reasoning
SciNapse: A Problem-Solving Environment for Partial Differential Equations
IEEE Computational Science & Engineering
Reusing Software: Issues and Research Directions
IEEE Transactions on Software Engineering
Conversion of Units of Measurement
IEEE Transactions on Software Engineering
Creation of Views for Reuse of Software with Different Data Representations
IEEE Transactions on Software Engineering
AMPHION: Automatic Programming for Scientific Subroutine Libraries
ISMIS '94 Proceedings of the 8th International Symposium on Methodologies for Intelligent Systems
Automated Geometry Diagram Construction and Engineering Geometry
ADG '98 Proceedings of the Second International Workshop on Automated Deduction in Geometry
Deductive Composition of Astronomical Software from Subroutine Libraries
CADE-12 Proceedings of the 12th International Conference on Automated Deduction
IEEE Transactions on Software Engineering
DMS®: Program Transformations for Practical Scalable Software Evolution
Proceedings of the 26th International Conference on Software Engineering
Specification and synthesis of hybrid automata for physics-based animation
Automated Software Engineering
Combinatorial sketching for finite programs
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
Computer aided software design via inference and constraint propagation
Integrated Computer-Aided Engineering - Selected papers from the IEEE Conference on Information Reuse and Integration (IRI), July 13-15, 2008
A constraint-based dynamic geometry system
Computer-Aided Design
The Artificial Intelligence
Hi-index | 0.01 |
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.