• DocumentCode
    2472494
  • Title

    Using automatic memoization as a software engineering tool in real-world AI systems

  • Author

    Mayfield, James ; Finin, Tim ; Hall, Marty

  • Author_Institution
    Dept. of Comput. Sci., Maryland Univ., Baltimore, MD, USA
  • fYear
    1995
  • fDate
    20-23 Feb 1995
  • Firstpage
    87
  • Lastpage
    93
  • Abstract
    Memo functions and memoization are well-known concepts in AI programming. They have been discussed since the sixties and are often used as examples in introductory programming texts. However, the automation of memoization as a practical software engineering tool for AI systems has not received a detailed treatment. This paper describes how automatic memoization can be made viable on a large scale. It points out advantages and uses of automatic memoization not previously described, identifies the components of an automatic memoization facility, enumerates potential memoization failures, and presents a publicly available memoization package (CLAMP) for the Lisp programming language. Experience in applying these techniques in the development of a large planning system is briefly discussed
  • Keywords
    LISP; planning (artificial intelligence); software packages; software tools; AI programming; CLAMP publicly available memoization package; Lisp programming language; automatic memoization; large planning system development; memo functions; potential memoization failure enumeration; real-world AI systems; software engineering tool; Artificial intelligence; Automatic programming; Clamps; Computer languages; Computer science; Functional programming; Large-scale systems; Packaging; Programming profession; Software engineering;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Artificial Intelligence for Applications, 1995. Proceedings., 11th Conference on
  • Conference_Location
    Los Angeles, CA
  • Print_ISBN
    0-8186-7070-3
  • Type

    conf

  • DOI
    10.1109/CAIA.1995.378786
  • Filename
    378786