{"id":{"repo_id":"unt","oai_identifier":"info:ark/67531/metadc2825"},"canonical_url":"https://search.dev.ndltd.org/etd/unt/info:ark/67531/metadc2825","repository":{"repo_id":"unt","name":"University of North Texas","base_url":"https://digital.library.unt.edu/oai/"},"display":{"title":"Memory Management and Garbage Collection Algorithms for Java-Based Prolog","abstract":"Implementing a Prolog Runtime System in a language like Java which provides its own automatic memory management and safety features such as built--in index checking and array initialization requires a consistent approach to memory management based on a simple ultimate goal: minimizing total memory management time and extra space involved. The total memory management time for Jinni is made up of garbage collection time both for Java and Jinni itself. Extra space is usually requested at Jinni's garbage collection. This goal motivates us to find a simple and practical garbage collection algorithm and implementation for our Prolog engine. In this thesis we survey various algorithms already proposed and offer our own contribution to the study of garbage collection by improvements and optimizations for some classic algorithms. We implemented these algorithms based on the dynamic array algorithm for an all--dynamic Prolog engine (JINNI 2000). The comparisons of our implementations versus the originally proposed algorithm allow us to draw informative conclusions on their theoretical complexity model and their empirical effectiveness.","abstract_html":"Implementing a Prolog Runtime System in a language like Java which provides its own automatic memory management and safety features such as built--in index checking and array initialization requires a consistent approach to memory management based on a simple ultimate goal: minimizing total memory management time and extra space involved. The total memory management time for Jinni is made up of garbage collection time both for Java and Jinni itself. Extra space is usually requested at Jinni&#x27;s garbage collection. This goal motivates us to find a simple and practical garbage collection algorithm and implementation for our Prolog engine. In this thesis we survey various algorithms already proposed and offer our own contribution to the study of garbage collection by improvements and optimizations for some classic algorithms. We implemented these algorithms based on the dynamic array algorithm for an all--dynamic Prolog engine (JINNI 2000). The comparisons of our implementations versus the originally proposed algorithm allow us to draw informative conclusions on their theoretical complexity model and their empirical effectiveness.","abstract_has_math":false,"creators":["Zhou, Qinan"],"institution":"University of North Texas","degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":null,"school":null,"contributors":["Tarau, Paul","Jacob, Roy T."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2001,"date_issued":"2001-08","date_published":"2001-08","updated_at":"2026-07-24T05:34:52Z","subjects":["memory management","prolog runtime system","garbage collection,","algorithm","Jinni","Memory management (Computer science)","Garbage collection (Computer science)","Prolog (Computer program language)"],"languages":["English"],"rights":["Use restricted to UNT Community","Copyright","Zhou, Qinan","Copyright is held by the author, unless otherwise noted. All rights reserved."],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["oclc: 51252281","https://digital.library.unt.edu/ark:/67531/metadc2825/","ark: ark:/67531/metadc2825"],"render_values":[{"text":"oclc: 51252281","href":null,"code":true},{"text":"https://digital.library.unt.edu/ark:/67531/metadc2825/","href":"https://digital.library.unt.edu/ark:/67531/metadc2825/","code":true},{"text":"ark: ark:/67531/metadc2825","href":null,"code":true}]}]},"links":{"outbound_url":"https://doi.org/10.12794/metadc2825","outbound_label":"DOI","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Tarau, Paul","Jacob, Roy T."]},{"key":"dc:creator","label":"Author","values":["Zhou, Qinan"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2001-08"]},{"key":"dc:publisher","label":"Institution","values":["University of North Texas"]},{"key":"dc:type","label":"Dc Type","values":["Thesis or Dissertation"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["memory management","prolog runtime system","garbage collection,","algorithm","Jinni","Memory management (Computer science)","Garbage collection (Computer science)","Prolog (Computer program language)"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["English"]},{"key":"dc:rights","label":"Dc Rights","values":["Use restricted to UNT Community","Copyright","Zhou, Qinan","Copyright is held by the author, unless otherwise noted. All rights reserved."]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["oclc: 51252281","doi: 10.12794/metadc2825","https://digital.library.unt.edu/ark:/67531/metadc2825/","ark: ark:/67531/metadc2825"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Implementing a Prolog Runtime System in a language like Java which provides its own automatic memory management and safety features such as built--in index checking and array initialization requires a consistent approach to memory management based on a simple ultimate goal: minimizing total memory management time and extra space involved. The total memory management time for Jinni is made up of garbage collection time both for Java and Jinni itself. Extra space is usually requested at Jinni's garbage collection. This goal motivates us to find a simple and practical garbage collection algorithm and implementation for our Prolog engine. In this thesis we survey various algorithms already proposed and offer our own contribution to the study of garbage collection by improvements and optimizations for some classic algorithms. We implemented these algorithms based on the dynamic array algorithm for an all--dynamic Prolog engine (JINNI 2000). The comparisons of our implementations versus the originally proposed algorithm allow us to draw informative conclusions on their theoretical complexity model and their empirical effectiveness."]},{"key":"dc:format","label":"Dc Format","values":["Text"]},{"key":"dc:title","label":"Title","values":["Memory Management and Garbage Collection Algorithms for Java-Based Prolog"]}]}],"canonical_facts":{"dc:contributor":["Tarau, Paul","Jacob, Roy T."],"dc:creator":["Zhou, Qinan"],"dc:date":["2001-08"],"dc:description":["Implementing a Prolog Runtime System in a language like Java which provides its own automatic memory management and safety features such as built--in index checking and array initialization requires a consistent approach to memory management based on a simple ultimate goal: minimizing total memory management time and extra space involved. The total memory management time for Jinni is made up of garbage collection time both for Java and Jinni itself. Extra space is usually requested at Jinni's garbage collection. This goal motivates us to find a simple and practical garbage collection algorithm and implementation for our Prolog engine. In this thesis we survey various algorithms already proposed and offer our own contribution to the study of garbage collection by improvements and optimizations for some classic algorithms. We implemented these algorithms based on the dynamic array algorithm for an all--dynamic Prolog engine (JINNI 2000). The comparisons of our implementations versus the originally proposed algorithm allow us to draw informative conclusions on their theoretical complexity model and their empirical effectiveness."],"dc:format":["Text"],"dc:identifier":["oclc: 51252281","doi: 10.12794/metadc2825","https://digital.library.unt.edu/ark:/67531/metadc2825/","ark: ark:/67531/metadc2825"],"dc:language":["English"],"dc:publisher":["University of North Texas"],"dc:rights":["Use restricted to UNT Community","Copyright","Zhou, Qinan","Copyright is held by the author, unless otherwise noted. All rights reserved."],"dc:subject":["memory management","prolog runtime system","garbage collection,","algorithm","Jinni","Memory management (Computer science)","Garbage collection (Computer science)","Prolog (Computer program language)"],"dc:title":["Memory Management and Garbage Collection Algorithms for Java-Based Prolog"],"dc:type":["Thesis or Dissertation"]},"updated_at":"2026-07-24T05:34:52Z"}