{"id":12660,"date":"2021-11-15T18:25:26","date_gmt":"2021-11-15T23:25:26","guid":{"rendered":"https:\/\/carleton.ca\/scs\/?page_id=12660"},"modified":"2021-11-15T18:25:26","modified_gmt":"2021-11-15T23:25:26","slug":"tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk","status":"publish","type":"page","link":"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk\/","title":{"rendered":"TR-129: Eva: An Event Driven Framework for Building User Interfaces in Smalltalk"},"content":{"rendered":"<p>Carleton University<br \/>\n<a href=\"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/\">Technical Report<\/a> <strong>TR-129<\/strong><br \/>\nNovember 1987<\/p>\n<h2 class=\"tr_t1\">Eva: An Event Driven Framework for Building User Interfaces in Smalltalk<\/h2>\n<div class=\"tr_t3\">\n<div class=\"tr_t3\">\n<div class=\"tr_t3\">Jeff McAffer &amp; Dave Thomas<\/div>\n<\/div>\n<\/div>\n<div>\n<h3>Abstract<\/h3>\n<p>Eva is an event driven framework for implementing user interfaces in multiprocessor Smalltalk systems. Most current user interfaces systems (e.g., Smalltalk, MacApp and NeWS), while event based, use polling and coroutines to handle user interaction. This makes them hard to understand and difficult to use in multiprocessor environments. Eva uses events to drive the Actors (light weight processes) which make up the user interface. The components of the user interface are constructed from parts rather than by inheritance. This structure increases modularity and allows the interface to be distributed over several processors. Comprehensive event management and synthesis simplify the creation of new parts. Eva is useful in both uni-and multiprocessor systems.<\/p>\n<\/div>\n<p><a href=\"https:\/\/carleton.ca\/scs\/wp-content\/uploads\/tr-129.pdf\">TR-129.pdf<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Carleton University Technical Report TR-129 November 1987 Eva: An Event Driven Framework for Building User Interfaces in Smalltalk Jeff McAffer &amp; Dave Thomas Abstract Eva is an event driven framework for implementing user interfaces in multiprocessor Smalltalk systems. Most current user interfaces systems (e.g., Smalltalk, MacApp and NeWS), while event based, use polling and coroutines [&hellip;]<\/p>\n","protected":false},"author":49,"featured_media":0,"parent":11827,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_mi_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":"","_links_to":"","_links_to_target":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>TR-129: Eva: An Event Driven Framework for Building User Interfaces in Smalltalk - School of Computer Science<\/title>\n<meta name=\"description\" content=\"Carleton University Technical Report TR-129 November 1987 Eva: An Event Driven Framework for Building User Interfaces in Smalltalk Jeff McAffer &amp; Dave\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk\/\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk\/\",\"url\":\"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk\/\",\"name\":\"TR-129: Eva: An Event Driven Framework for Building User Interfaces in Smalltalk - School of Computer Science\",\"isPartOf\":{\"@id\":\"https:\/\/carleton.ca\/scs\/#website\"},\"datePublished\":\"2021-11-15T23:25:26+00:00\",\"dateModified\":\"2021-11-15T23:25:26+00:00\",\"description\":\"Carleton University Technical Report TR-129 November 1987 Eva: An Event Driven Framework for Building User Interfaces in Smalltalk Jeff McAffer &amp; Dave\",\"breadcrumb\":{\"@id\":\"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/carleton.ca\/scs\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Research\",\"item\":\"https:\/\/carleton.ca\/scs\/research\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SCS Technical Reports\",\"item\":\"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Technical Reports 1987\",\"item\":\"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"TR-129: Eva: An Event Driven Framework for Building User Interfaces in Smalltalk\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/carleton.ca\/scs\/#website\",\"url\":\"https:\/\/carleton.ca\/scs\/\",\"name\":\"School of Computer Science\",\"description\":\"Carleton University\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/carleton.ca\/scs\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TR-129: Eva: An Event Driven Framework for Building User Interfaces in Smalltalk - School of Computer Science","description":"Carleton University Technical Report TR-129 November 1987 Eva: An Event Driven Framework for Building User Interfaces in Smalltalk Jeff McAffer &amp; Dave","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk\/","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk\/","url":"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk\/","name":"TR-129: Eva: An Event Driven Framework for Building User Interfaces in Smalltalk - School of Computer Science","isPartOf":{"@id":"https:\/\/carleton.ca\/scs\/#website"},"datePublished":"2021-11-15T23:25:26+00:00","dateModified":"2021-11-15T23:25:26+00:00","description":"Carleton University Technical Report TR-129 November 1987 Eva: An Event Driven Framework for Building User Interfaces in Smalltalk Jeff McAffer &amp; Dave","breadcrumb":{"@id":"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/tr-129-eva-an-event-driven-framework-for-building-user-interfaces-in-smalltalk\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/carleton.ca\/scs\/"},{"@type":"ListItem","position":2,"name":"Research","item":"https:\/\/carleton.ca\/scs\/research\/"},{"@type":"ListItem","position":3,"name":"SCS Technical Reports","item":"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/"},{"@type":"ListItem","position":4,"name":"Technical Reports 1987","item":"https:\/\/carleton.ca\/scs\/research\/scs-technical-reports\/technical-reports-1987\/"},{"@type":"ListItem","position":5,"name":"TR-129: Eva: An Event Driven Framework for Building User Interfaces in Smalltalk"}]},{"@type":"WebSite","@id":"https:\/\/carleton.ca\/scs\/#website","url":"https:\/\/carleton.ca\/scs\/","name":"School of Computer Science","description":"Carleton University","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/carleton.ca\/scs\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"}]}},"acf":{"banner_image_type":"none","banner_button":"no"},"_links":{"self":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages\/12660"}],"collection":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/comments?post=12660"}],"version-history":[{"count":1,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages\/12660\/revisions"}],"predecessor-version":[{"id":12661,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages\/12660\/revisions\/12661"}],"up":[{"embeddable":true,"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/pages\/11827"}],"wp:attachment":[{"href":"https:\/\/carleton.ca\/scs\/wp-json\/wp\/v2\/media?parent=12660"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}