Skip to main content
Log in

META-AMPHION: Synthesis of Efficient Domain-Specific Program Synthesis Systems

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Amphion is a real-world knowledge-based software engineering (KBSE) system whose program synthesis subsystem is based on deductive synthesis. Amphion is designed to automate use of software component libraries—the programs it generates are compositions of software components. Amphion has a domain-independent generic architecture that is specialized to an application domain and component library through a declarative domain theory. Up to now, program synthesis has been made efficient and automatic through manual tuning of theorem-proving strategies and tactics, and careful formulation of domain theories.

The Meta-Amphion system is being developed to empower domain experts to develop, maintain, and evolve their own Amphion applications. Meta-Amphion is intended to be the knowledge-based analogue of application-generator generator technology. This paper describes an essential part of Meta-Amphion—technology for automatically transforming declarative domain theories into efficient domain-specific program synthesis systems.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Cleaveland, J.C. and Kintala, C. 1988. Tools for building application generators. AT&T Technical Journal, 67(4):46–58.

    Google Scholar 

  • Gallier, J.H. 1986. Logic for Computer Science, Foundation of Automatic Theorem Proving. Harper & Row.

  • Giunchigliam, F., Pecchiari, P., and Talcott, C. 1994. Reasoning theories: Towards an architecture for open mechanized reasoning systems. Stanford CS Technical Report CS-TN-94-15.

  • Hoare, C.A.R. 1973. Proof of correctness of data representations. Acta Informatica, 271–281.

  • Jullig, R. and Srinivas, Y.V. 1993. Diagrams for Software Synthesis. KBSE.

  • Lowry, M., Philpot, A., Pressburger, T., and Underwood, I. 1994. A Formal Approach to Domain-Oriented Software Design Environments, KBSE.

  • Manna, Z. and Waldinger, R. 1992. Fundamentals of deductive program synthesis. IEEE Transactions on Software Engineering, 8(18):674–704.

    Google Scholar 

  • Nelson, G. 1984. Combining satisfiability procedures by equality sharing. In Bledsoe and Loveland editors, Automated Theorem Proving after 25 Years, American Mathematical Society.

  • Reyes, A.A. 1996. An approach to automatic generation of domain theories from intuitive, semiformal domain models. Proceedings of the California Software Symposium CSS'96, W. Scacchi and R. Taylor, editors, University of California, Los Angeles, CA.

    Google Scholar 

  • Smith, D.R. 1993. Classification approach to design. Kestrel Institute Technical Report.

  • Smith, D.R. and Lowry, M.R. 1990. Algorithm theories and design tactics. Science of Computer Programming, 14:305–321.

    Google Scholar 

  • Stickel, M. 1985. Automated deduction by theory resolution. Automated Reasoning, 1:333–355.

    Google Scholar 

  • Stickel, M., Waldinger, R., Lowry, M., Pressburger, T., and Underwood, I. 1994. Deductive composition of astronomical software from subroutine libraries. CADE-12.

  • Tyugu, E.H. 1988. Knowledge-Based Programming, Turing Institute Press, Glasgow, Scotland.

    Google Scholar 

  • Van Baalen, J. 1991. The completeness of DRAT, a technique for automatic design of satisfiability procedures. International Conference of Knowledge Representation and Reasoning.

  • Van Baalen, J. 1992. Automated design of specialized representations. Artificial Intelligence, 54.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lowry, M.R., Van Baalen, J. META-AMPHION: Synthesis of Efficient Domain-Specific Program Synthesis Systems. Automated Software Engineering 4, 199–241 (1997). https://doi.org/10.1023/A:1008637201658

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008637201658

Navigation