Affiliation:
1. University of North Texas, Denton, TX, USA
Abstract
We describe an integrated solution to symbol, heap and logic engine memory management in a context where exchanges of arbitrary Prolog terms occur between multiple dynamically created engines, implemented in a new Java-based experimental Prolog system.
As our symbols represent not just Prolog atoms, but also handles to Java objects (including arbitrary size integers and decimals), everything is centered around a symbol garbage collection algorithm ensuring that external objects are shared and exchanged between logic engines efficiently.
Taking advantage of a
tag-on-data
heap representation of Prolog terms, our algorithm performs in-place updates of live symbol references directly on heap cells.
With appropriate fine tuning of collection policies our algorithm provides an integrated memory management solution for Prolog systems, with amortized cost dominated by normally occurring heap garbage collection costs.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference29 articles.
1. Prolog Cafe: A Prolog to Java Translator System
2. M. Carlsson J. Widen J. Andersson S. Andersson K. Boortz H. Nilsson and T. Sjoland. SICStus Prolog user's manual. M. Carlsson J. Widen J. Andersson S. Andersson K. Boortz H. Nilsson and T. Sjoland. SICStus Prolog user's manual.
3. P#: a concurrent Prolog for the .NET framework
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献