Behram F. T. Mistree, B. Chandra, Ewen Cheslack-Postava, P. Levis, David E. Gay
{"title":"Emerson: accessible scripting for applications in an extensible virtual world","authors":"Behram F. T. Mistree, B. Chandra, Ewen Cheslack-Postava, P. Levis, David E. Gay","doi":"10.1145/2048237.2048247","DOIUrl":"https://doi.org/10.1145/2048237.2048247","url":null,"abstract":"This paper presents Emerson, a new programming system for scripting objects in user-extensible virtual worlds such as Second Life, Active Worlds, and Open Wonderland. Emerson's primary goal is to make it easy for novice programmers to write and deploy interesting applications. Scripting applications for these worlds is difficult due to two characteristics: the worlds must scale to millions of users and are therefore distributed, and there is no central authority or design so interaction is mostly between mutually untrusting applications.\u0000 To simplify scripting for novices, Emerson employs two abstractions: multi-presencing and execution sandboxes. Multi-presencing allows a single program to centrally control what seem to be many distributed geometric objects. Execution sandboxes allow safely running application code provided by another object, borrowing the execution and deployment model of modern web applications.\u0000 Emerson itself is implemented as a scripting plugin for the Sirikata open source virtual world platform. We evaluate the benefits of its design by describing several application examples. Through these examples, we explore the interactions between sandboxing and multi-presencing as well as their implications and discuss potential future authentication mechanisms that would make secure in-world application development more accessible.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"138 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129448074","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Naturalistic types","authors":"Roman Knöll, Vaidas Gasiunas, M. Mezini","doi":"10.1145/2048237.2048243","DOIUrl":"https://doi.org/10.1145/2048237.2048243","url":null,"abstract":"The typical properties of natural language - redundancy avoidance, locality, and immediacy - support high semantic density and improve readability, and therefore, are also interesting for the design of programming languages. To achieve these properties, natural language heavily relies on types, which are used for referencing, generalization, and description of instances. With naturalistic types we conceptualize the idea of natural language types for use in programming. This article demonstrates possible applications of naturalistic types for programming and gives a detailed analysis of their constituents - concepts, properties, quantities, and conditions.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"85 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132170673","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Carlos Rafael Gimenes das Neves, E. Guerra, C. Fernandes
{"title":"Language support for asynchronous event handling in the invocation call stack","authors":"Carlos Rafael Gimenes das Neves, E. Guerra, C. Fernandes","doi":"10.1145/2089131.2089141","DOIUrl":"https://doi.org/10.1145/2089131.2089141","url":null,"abstract":"There are times during the normal execution flow of programs, when an object of a class wishes to be notified about some special event which may take place in a method it calls. Some other times, this event might not happen in the directly called method, but in another one, deeper in the call stack, beyond the knowledge of the caller class. To overcome this, a common solution is to create structures close to the Observer design pattern, which ends up coupling the caller class with the called class and lacks asyn-chronous behavior. In order not to couple the classes, exception handling can be used, as long as the premature termination of the called method is not a concern. The present essay proposes a solution to fill this gap and describes the initial concept of a technique to asynchronously handle events triggered inside any method within the current call stack, without coupling classes.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115486301","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The artist in the computer scientist: more humanity to our research","authors":"D. Cukier, J. Yoder","doi":"10.1145/2089131.2089134","DOIUrl":"https://doi.org/10.1145/2089131.2089134","url":null,"abstract":"Art and Science are usually seen as quite distinct tasks and not supportive of each other or similar at all. Isn't art all about creativity and abstract beauty, while computer sci-ence is about logic, truths and problem solving? Can these two practices really be related in any way? Our primary objective is to show the benefits of arts to software development. First we reflect on the concept of how Art and Science are similar. Then we report our thoughts about the relation of different types of art to Computer Science such as theater, music, painting, and poetry.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124110000","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The intuitive control of smart home and office environments","authors":"Sebastian Peters, V. Loftness, V. Hartkopf","doi":"10.1145/2048237.2048255","DOIUrl":"https://doi.org/10.1145/2048237.2048255","url":null,"abstract":"Along with the associated film, this paper presents an approach to individually controlling home and office fixtures such as lights, window blinds, cooling and ventilation units with an 'intuitive gesture-based controller' using a smart phone. The implementation of the gesture controls is based on the magnetometer, gyroscope and accelerometer built into the most recent smart phones. The user simply points to target objects and completes specific gestures. For example, pointing to the top of a window and completing a \"down\"-gesture is interpreted as a command to lower the blinds at the window. Pointing the device to a light fixture and doing an \"up\"-gesture raises the light levels. In combination with addressable fixtures and wireless infrastructures, this phone controller reveals how a wide variety of fixtures in a building can be intuitively controlled by pointing, using only a single button and gesturing.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"101 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114369853","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Biological realms in computer science","authors":"D. Verna","doi":"10.1145/2089131.2089140","DOIUrl":"https://doi.org/10.1145/2089131.2089140","url":null,"abstract":"In biology, evolution is usually seen as a tinkering process, different from what an engineer does when he plans the development of his systems. Recently, studies have shown that even in biology, there is a part of good engineering. As computer scientists, we have much more difficulty to admit that there is also a great deal of tinkering in what we do, and that our software systems behave more and more like biological realms every day. This essay relates my personal experience about this discovery.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130727981","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Automated program verification made SYMPLAR: symbolic permissions for lightweight automated reasoning","authors":"K. Bierhoff","doi":"10.1145/2048237.2048242","DOIUrl":"https://doi.org/10.1145/2048237.2048242","url":null,"abstract":"Research in automated program verification against specifications written in first-order logic has come a long way. Ever-faster Satisfiability Modulo Theories (SMT) solvers [Barrett et al. 2010] promise to verify program instructions quickly against specifications. Unfortunately, aliasing still prevents automated program verification tools from easily and soundly verifying interesting programs. This paper introduces the use of symbolic permissions as the basis for sound automated program verification. Symbolic permissions provide a simple alias control mechanism with expressiveness similar to the well-known fractional permissions [Boyland 2003]. The paper shows that symbolic permissions can be enforced with a linear refinement typechecking procedure. Once permissions are checked, aliasing can essentially be ignored for the purposes of program verification, which allows taking full advantage of SMT solvers for doing the heavy verification lifting. The paper shows that a verification tool based on symbolic permissions can easily verify a design pattern with inherent aliasing challenges.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"167 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114015329","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Mind your language: on novices' interactions with error messages","authors":"G. Marceau, Kathi Fisler, S. Krishnamurthi","doi":"10.1145/2048237.2048241","DOIUrl":"https://doi.org/10.1145/2048237.2048241","url":null,"abstract":"Error messages are one of the most important tools that a language offers its programmers. For novices, this feed-back is especially critical. Error messages typically contain both a textual description of the problem and an indication of where in the code the error occurred. This paper reports on a series of studies that explore beginning students' inter-actions with the vocabulary and source-expression high-lighting in DrRacket. Our findings demonstrate that the error message significantly fail to convey information accurately to students, while also suggesting alternative designs that might address these problems.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116552779","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Ageing society","authors":"R. Bisiani, D. Merico","doi":"10.1145/2048237.2048254","DOIUrl":"https://doi.org/10.1145/2048237.2048254","url":null,"abstract":"This is a brief film describing the functionality and the inner behaviour of a system called Contexta-Care, a monitoring facility for independent-living elders. The first challenge for such a film is to give in a few minutes a fair idea of what the system can do in a real case. The target audience is first of all the geriatric health-care professionals but the system should be almost completely understandable by any person. The second challenge is that most of the \"action\" happens over many hours, days or even weeks and just showing the \"real time\" behaviour is not enough.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125131652","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
N. Boulila, Oliver Creighton, Georgi A. Markov, Steve Russell, Ronald Blechner
{"title":"Presenting a day in the life of video-based requirements engineering","authors":"N. Boulila, Oliver Creighton, Georgi A. Markov, Steve Russell, Ronald Blechner","doi":"10.1145/2048237.2048251","DOIUrl":"https://doi.org/10.1145/2048237.2048251","url":null,"abstract":"In today's global economy, innovation through technology is a key driver for a sustainable economic growth and competitiveness. Siemens as a global player possesses a tremendous portfolio of innovative technologies. In an effort to highlight some of these technologies, Siemens has organized an Internet-based event for selected industrial partners. The event comprised a virtual world showcasing five technological innovation areas, including video-based requirements engineering (VBRE). Attendees were connected to the virtual tradeshow and could visit manned booths, choose which technology presentation to attend, and even follow a guided tour.\u0000 The film we present shows VBRE immersed in a virtual world where the avatars of participants are guided in a tour, can interact with the technology, and experience the effects in real-time. A presenter first gives an introductory talk along with animated slides explaining key technology elements. During the tour, questions are asked by participants and answered by the presenter akin to following a tour guide in a museum. The avatars then interact with the virtual objects from the demonstrated VBRE technology. The film shows all of these aspects and in particular demonstrates how several different technologies are harmoniously brought together.","PeriodicalId":168332,"journal":{"name":"SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115351919","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}