{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/20729"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/20729","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Building flexible real-time systems","abstract":"Programs for hard real-time systems have stringent timing requirements. Real-time programs are usually designed for the worst-case situation, which makes them inefficient. We argue that real-time programs should be more flexible, resulting in systems which can respond to dynamic environments. Normally, when the program has all the resources it needs, it produces a good, precise result. When some of the resources are not available the program may produce approximate, imprecise results. We describe our attempts to attain this objective. One approach is to add primitives to an existing language to implement the milestone and sieve techniques. In the milestone technique procedures record their partial results periodically, and return the latest result available if the deadline is reached. The sieve technique skips certain sections of code if the time available is not sufficient. Our second attempt involves the design of a new real-time language called FLEX. FLEX provides the ability to express and enforce timing and resource requirements using constraints. Imprecise functions and exception handling are used to produce imprecise results when the resources available are inadequate. FLEX also provides ways to represent and manipulate imprecise values, to facilitate processing of the imprecise results. We discuss implementation techniques, and show an example FLEX program.","abstract_html":"Programs for hard real-time systems have stringent timing requirements. Real-time programs are usually designed for the worst-case situation, which makes them inefficient. We argue that real-time programs should be more flexible, resulting in systems which can respond to dynamic environments. Normally, when the program has all the resources it needs, it produces a good, precise result. When some of the resources are not available the program may produce approximate, imprecise results. We describe our attempts to attain this objective. One approach is to add primitives to an existing language to implement the milestone and sieve techniques. In the milestone technique procedures record their partial results periodically, and return the latest result available if the deadline is reached. The sieve technique skips certain sections of code if the time available is not sufficient. Our second attempt involves the design of a new real-time language called FLEX. FLEX provides the ability to express and enforce timing and resource requirements using constraints. Imprecise functions and exception handling are used to produce imprecise results when the resources available are inadequate. FLEX also provides ways to represent and manipulate imprecise values, to facilitate processing of the imprecise results. We discuss implementation techniques, and show an example FLEX program.","abstract_has_math":false,"creators":["Natarajan, Swaminathan"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Lin, Kwei-Jay"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2011,"date_issued":"2011-05-07T12:47:36Z","date_published":"2011-05-07T12:47:36Z","updated_at":"2026-07-22T22:25:16Z","subjects":["Computer Science"],"languages":["eng"],"rights":["Copyright 1990 Natarajan, Swaminathan"],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9026279","(UMI)AAI9026279"],"render_values":[{"text":"AAI9026279","href":null,"code":true},{"text":"(UMI)AAI9026279","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/20729","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Lin, Kwei-Jay"]},{"key":"dc:creator","label":"Author","values":["Natarajan, Swaminathan"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2011-05-07T12:47:36Z","10000-01-01","1990"]},{"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":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 1990 Natarajan, Swaminathan"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9026279","(UMI)AAI9026279","http://hdl.handle.net/2142/20729"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Programs for hard real-time systems have stringent timing requirements. Real-time programs are usually designed for the worst-case situation, which makes them inefficient. We argue that real-time programs should be more flexible, resulting in systems which can respond to dynamic environments. Normally, when the program has all the resources it needs, it produces a good, precise result. When some of the resources are not available the program may produce approximate, imprecise results. We describe our attempts to attain this objective. One approach is to add primitives to an existing language to implement the milestone and sieve techniques. In the milestone technique procedures record their partial results periodically, and return the latest result available if the deadline is reached. The sieve technique skips certain sections of code if the time available is not sufficient. Our second attempt involves the design of a new real-time language called FLEX. FLEX provides the ability to express and enforce timing and resource requirements using constraints. Imprecise functions and exception handling are used to produce imprecise results when the resources available are inadequate. FLEX also provides ways to represent and manipulate imprecise values, to facilitate processing of the imprecise results. We discuss implementation techniques, and show an example FLEX program.","Made available in DSpace on 2011-05-07T12:47:36Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9026279.pdf: 5026890 bytes, checksum: f2535c1fb1428e29d752719893c5b61f (MD5) Previous issue date: 1990","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:45:52Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:20:24-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"]},{"key":"dc:title","label":"Title","values":["Building flexible real-time systems"]}]}],"canonical_facts":{"dc:contributor":["Lin, Kwei-Jay"],"dc:creator":["Natarajan, Swaminathan"],"dc:date":["2011-05-07T12:47:36Z","10000-01-01","1990"],"dc:description":["Programs for hard real-time systems have stringent timing requirements. Real-time programs are usually designed for the worst-case situation, which makes them inefficient. We argue that real-time programs should be more flexible, resulting in systems which can respond to dynamic environments. Normally, when the program has all the resources it needs, it produces a good, precise result. When some of the resources are not available the program may produce approximate, imprecise results. We describe our attempts to attain this objective. One approach is to add primitives to an existing language to implement the milestone and sieve techniques. In the milestone technique procedures record their partial results periodically, and return the latest result available if the deadline is reached. The sieve technique skips certain sections of code if the time available is not sufficient. Our second attempt involves the design of a new real-time language called FLEX. FLEX provides the ability to express and enforce timing and resource requirements using constraints. Imprecise functions and exception handling are used to produce imprecise results when the resources available are inadequate. FLEX also provides ways to represent and manipulate imprecise values, to facilitate processing of the imprecise results. We discuss implementation techniques, and show an example FLEX program.","Made available in DSpace on 2011-05-07T12:47:36Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9026279.pdf: 5026890 bytes, checksum: f2535c1fb1428e29d752719893c5b61f (MD5) Previous issue date: 1990","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:45:52Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:20:24-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"],"dc:identifier":["AAI9026279","(UMI)AAI9026279","http://hdl.handle.net/2142/20729"],"dc:language":["eng"],"dc:rights":["Copyright 1990 Natarajan, Swaminathan"],"dc:subject":["Computer Science"],"dc:title":["Building flexible real-time systems"],"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:25:16Z"}