{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/20654"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/20654","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"A graph grammar approach to concurrent programming","abstract":"We propose the use of graph grammars as a theory to organize programming of highly-concurrent systems. To understand the interactions among components of a concurrent system it is useful to visualize the system as dynamically changing graphs where the nodes represent concurrent components and the edges represent (the possibility of) interactions among them. Graph grammars are effective tools for translating this intuitive understanding of system behavior into formal specifications and executable concurrent programs.","abstract_html":"We propose the use of graph grammars as a theory to organize programming of highly-concurrent systems. To understand the interactions among components of a concurrent system it is useful to visualize the system as dynamically changing graphs where the nodes represent concurrent components and the edges represent (the possibility of) interactions among them. Graph grammars are effective tools for translating this intuitive understanding of system behavior into formal specifications and executable concurrent programs.","abstract_has_math":false,"creators":["Goering, Steven Kent"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Kaplan, Simon M."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2011,"date_issued":"2011-05-07T12:45:28Z","date_published":"2011-05-07T12:45:28Z","updated_at":"2026-07-22T22:25:16Z","subjects":["Language, Linguistics","Computer Science"],"languages":["eng"],"rights":["Copyright 1990 Goering, Steven Kent"],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9026191","(UMI)AAI9026191"],"render_values":[{"text":"AAI9026191","href":null,"code":true},{"text":"(UMI)AAI9026191","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/20654","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Kaplan, Simon M."]},{"key":"dc:creator","label":"Author","values":["Goering, Steven Kent"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2011-05-07T12:45:28Z","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":["Language, Linguistics","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 Goering, Steven Kent"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["AAI9026191","(UMI)AAI9026191","http://hdl.handle.net/2142/20654"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["We propose the use of graph grammars as a theory to organize programming of highly-concurrent systems. To understand the interactions among components of a concurrent system it is useful to visualize the system as dynamically changing graphs where the nodes represent concurrent components and the edges represent (the possibility of) interactions among them. Graph grammars are effective tools for translating this intuitive understanding of system behavior into formal specifications and executable concurrent programs.","We claim that the use of hybrid graphical/textual languages is an important way to effectively specify and clearly understand the dynamic behavior of concurrent systems. This is because the problem is divided into two parts, the graphical part of understanding object relationships and the textual part of understanding internal object behavior. We develop theory necessary to support this division of labor. Problems that are addressed include: modifying and using existing graph grammar theory to get a formal way to express and to reason graphically about the dynamic behavior of concurrent programs, fitting both text and graphics into a unified semantic framework and building real hybrid graphical/textual languages using the theory introduced.","In order to ground our ideas in the context of graph grammar research, we propose an algebraic model, $\\Delta$-G scRAMMARS, and give it a semantics. $\\Delta$-G scRAMMARS are reflective, concurrent and fair in production application, and incorporate a notion of Kleene star-like graph rewriting. The result is a powerful, but low-level paradigm for defining graph languages.","Existing semantics that try to take both textual and graphical elements into account are text-based. In contrast, we show how graphically-based semantics can be given using $\\Delta$-G scRAMMARS, and justify why this is useful. Such $\\Delta$-semantics provides a coherent framework to consider both text and graphics.","Finally, using $\\Delta$-semantics we give the definition of a higher-level programming language. The higher-level language includes facilities for graph rewriting, message passing (synchronous and asynchronous) and imperative style programming. The methods for defining and using these facilities that mix graphical and textual concepts are supported by the graph grammar and graphical semantics base that has been developed.","A tutorial introduction to graph grammars is also included.","Made available in DSpace on 2011-05-07T12:45:28Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9026191.pdf: 12308089 bytes, checksum: 04917ed85e4a682586fd41ef734fbbf6 (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:21Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:20:04-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":["A graph grammar approach to concurrent programming"]}]}],"canonical_facts":{"dc:contributor":["Kaplan, Simon M."],"dc:creator":["Goering, Steven Kent"],"dc:date":["2011-05-07T12:45:28Z","10000-01-01","1990"],"dc:description":["We propose the use of graph grammars as a theory to organize programming of highly-concurrent systems. To understand the interactions among components of a concurrent system it is useful to visualize the system as dynamically changing graphs where the nodes represent concurrent components and the edges represent (the possibility of) interactions among them. Graph grammars are effective tools for translating this intuitive understanding of system behavior into formal specifications and executable concurrent programs.","We claim that the use of hybrid graphical/textual languages is an important way to effectively specify and clearly understand the dynamic behavior of concurrent systems. This is because the problem is divided into two parts, the graphical part of understanding object relationships and the textual part of understanding internal object behavior. We develop theory necessary to support this division of labor. Problems that are addressed include: modifying and using existing graph grammar theory to get a formal way to express and to reason graphically about the dynamic behavior of concurrent programs, fitting both text and graphics into a unified semantic framework and building real hybrid graphical/textual languages using the theory introduced.","In order to ground our ideas in the context of graph grammar research, we propose an algebraic model, $\\Delta$-G scRAMMARS, and give it a semantics. $\\Delta$-G scRAMMARS are reflective, concurrent and fair in production application, and incorporate a notion of Kleene star-like graph rewriting. The result is a powerful, but low-level paradigm for defining graph languages.","Existing semantics that try to take both textual and graphical elements into account are text-based. In contrast, we show how graphically-based semantics can be given using $\\Delta$-G scRAMMARS, and justify why this is useful. Such $\\Delta$-semantics provides a coherent framework to consider both text and graphics.","Finally, using $\\Delta$-semantics we give the definition of a higher-level programming language. The higher-level language includes facilities for graph rewriting, message passing (synchronous and asynchronous) and imperative style programming. The methods for defining and using these facilities that mix graphical and textual concepts are supported by the graph grammar and graphical semantics base that has been developed.","A tutorial introduction to graph grammars is also included.","Made available in DSpace on 2011-05-07T12:45:28Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9026191.pdf: 12308089 bytes, checksum: 04917ed85e4a682586fd41ef734fbbf6 (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:21Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:20:04-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":["AAI9026191","(UMI)AAI9026191","http://hdl.handle.net/2142/20654"],"dc:language":["eng"],"dc:rights":["Copyright 1990 Goering, Steven Kent"],"dc:subject":["Language, Linguistics","Computer Science"],"dc:title":["A graph grammar approach to concurrent programming"],"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"}