{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/69599"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/69599","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Partial Implementations of Abstract Data Types: Theory and Practice","abstract":"U of I Only","abstract_html":"U of I Only","abstract_has_math":false,"creators":["Archer, Myla Marguerite"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Kamin, Samuel"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2014,"date_issued":"2014-12-15T19:26:06Z","date_published":"2014-12-15T19:26:06Z","updated_at":"2026-07-22T22:26:01Z","subjects":["Computer Science"],"languages":[],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["(UMI)AAI8908612"],"render_values":[{"text":"(UMI)AAI8908612","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/69599","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Kamin, Samuel"]},{"key":"dc:creator","label":"Author","values":["Archer, Myla Marguerite"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2014-12-15T19:26:06Z","10000-01-01","1988"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Computer Science"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/69599","(UMI)AAI8908612"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["U of I Only","201 p.","Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1988.","We propose the use of partial implementations of abstract data types as a solution to the partiality problem which arises in the top-down development of programs. In the main, this problem consists in the inability to implement all of an ideal abstract type by a program, though it has other aspects. We explain why we believe the partial implementation approach to be superior to other solutions to the partiality problem, and show how it can be used in a sound manner in the development process.","To study the practicality of the approach, we begin by considering what is required of a partial implementation, and develop two criteria which guarantee partial implementation: the H-criterion (for homomorphism), which comes closest to the usual criterion for total implementation, and the GH-criterion (for generalized homomorphism). We then investigate whether the methods for proving total implementation associated with several known specification methods can be adapted to methods for proving partial implementation by our criteria. We show that while those for equational specifications are not particularly suited to this purpose, those for other types of specifications, in particular, final algebra and pre-post specifications, are adaptable. We find the GH-criterion--which involves existence of a relation rather than a map with certain properties, and is nearly the most general possible criterion for partial implementation--to be more useful in many circumstances.","We then consider the problems that the partial implementation approach entails for parameterized types. In incremental program development, it is possible for the parameter to a parameterized type to be implemented before the parameterized type itself. The use of partial implementations thus implies the need to extend the usual semantics of specifications of parameterized types to allow for parameter algebras of arbitrary partiality. We attempt to de this for final algebra specifications and equational specifications. Our results show final algebra specifications to be more desireable for our purposes, since the natural extension to their semantics preserves implementations by the GH-criterion. For initial algebra specifications, the extension we obtain preserves implementations by the H-criterion, but not the GH-criterion, except for total algebra parameters.","Made available in DSpace on 2014-12-15T19:26:06Z (GMT). No. of bitstreams: 1 8908612.pdf: 9026445 bytes, checksum: a02d4df8306a881f39ce37c4ed92c811 (MD5) Previous issue date: 1988","Embargo set by: Seth Robbins for item 69765 Lift date: Forever Reason: Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs"]},{"key":"dc:title","label":"Title","values":["Partial Implementations of Abstract Data Types: Theory and Practice"]}]}],"canonical_facts":{"dc:contributor":["Kamin, Samuel"],"dc:creator":["Archer, Myla Marguerite"],"dc:date":["2014-12-15T19:26:06Z","10000-01-01","1988"],"dc:description":["U of I Only","201 p.","Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1988.","We propose the use of partial implementations of abstract data types as a solution to the partiality problem which arises in the top-down development of programs. In the main, this problem consists in the inability to implement all of an ideal abstract type by a program, though it has other aspects. We explain why we believe the partial implementation approach to be superior to other solutions to the partiality problem, and show how it can be used in a sound manner in the development process.","To study the practicality of the approach, we begin by considering what is required of a partial implementation, and develop two criteria which guarantee partial implementation: the H-criterion (for homomorphism), which comes closest to the usual criterion for total implementation, and the GH-criterion (for generalized homomorphism). We then investigate whether the methods for proving total implementation associated with several known specification methods can be adapted to methods for proving partial implementation by our criteria. We show that while those for equational specifications are not particularly suited to this purpose, those for other types of specifications, in particular, final algebra and pre-post specifications, are adaptable. We find the GH-criterion--which involves existence of a relation rather than a map with certain properties, and is nearly the most general possible criterion for partial implementation--to be more useful in many circumstances.","We then consider the problems that the partial implementation approach entails for parameterized types. In incremental program development, it is possible for the parameter to a parameterized type to be implemented before the parameterized type itself. The use of partial implementations thus implies the need to extend the usual semantics of specifications of parameterized types to allow for parameter algebras of arbitrary partiality. We attempt to de this for final algebra specifications and equational specifications. Our results show final algebra specifications to be more desireable for our purposes, since the natural extension to their semantics preserves implementations by the GH-criterion. For initial algebra specifications, the extension we obtain preserves implementations by the H-criterion, but not the GH-criterion, except for total algebra parameters.","Made available in DSpace on 2014-12-15T19:26:06Z (GMT). No. of bitstreams: 1 8908612.pdf: 9026445 bytes, checksum: a02d4df8306a881f39ce37c4ed92c811 (MD5) Previous issue date: 1988","Embargo set by: Seth Robbins for item 69765 Lift date: Forever Reason: Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs","Restricted to the U of I community idenfinitely during batch ingest of legacy ETDs"],"dc:identifier":["http://hdl.handle.net/2142/69599","(UMI)AAI8908612"],"dc:subject":["Computer Science"],"dc:title":["Partial Implementations of Abstract Data Types: Theory and Practice"],"dc:type":["text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:26:01Z"}