University of Minnesota
Software Engineering Center

You are here

Fall 2016 MSSE Seminar Series

Date of Event: 
Saturday, September 17, 2016 - 8:00am to 11:15am
Room 3-210 Keller Hall
Campus Map

All MSSE Seminars are open to public

Talk 1: Modular and composable language extension for C using ableC (8:00 AM)

Speaker: Eric Van Wyk

Abstract: The value that domain-specific languages provide to their users is the domain-specific features they contain. These features provide notations from the domain of interest, as well as domain-specific analyses and optimizations. But domain-specific languages are sometimes a poor means of delivering these features to their users. An alternative approach is to provide domain-specific language features to programmers as composable language extensions that they can easily and reliably import into their general-purpose programming language, such as C or Java. AbleC is a extendable specification of ANSI C into which programmers can import such extensions; examples include algebraic data types as in ML or Haskell, regular expression operators and literals as in Perl or Python, and matrix operations as in MATLAB. A distinguishing characteristic of AbleC is the modular analysis that extension developers can perform on their extension specifications to ensure that a working translator can be generated from the programmer chosen set of independently developed language extensions. These analyses ensure that the composed specification will define a deterministic parser and scanner and a well-defined attribute grammar for semantic analysis and translation. Thus, the programmer has some assurance that the language extensions that they choose will, simply, work well together.

Bio: Eric Van Wyk is an associate professor in the Computer Science & Engineering department at the University of Minnesota, a 2005 McKnight Land-Grant Professor, and received a National Science Foundation's CAREER award in 2004. His research focuses on programming languages, in particular extensible programming languages and compilers, applications of temporal logic, and algebraic compilers. His group has developed tools and techniques for extensible compilers that support the composition of independently-developed language features to allow programmers to create custom programming languages containing the domain-specific features tailored to their task at hand.

Talk 2: AI for Humans: How computers can intelligently understand (9:40 AM)

Speaker: Stephen Guy

Abstract: Artificial Intelligence (AI) has brought a high level of skill to computers in many challenging abstract problems. However, robots and other intelligent systems are increasingly expected to interact autonomously with humans in everyday settings, making it vital they also master a more social form of intelligence. Here we discuss techniques for moving AI past the realm of abstract problems and towards a more social form of intelligence. In particular, we will look at recent efforts to develop understanding of key features of human interactions including navigation in crowds and emotional expression. We will also discuss data-driven methods to allow AI systems to adapt in response to individual differences of the people interacting with them.

Bio: Stephen J. Guy is an assistant professor in the Department of Computer Science and Engineering at the University of Minnesota. His research focuses on the areas of interactive computer graphics and multi-robot coordination. Stephen's work on motion planning has been licensed for use in games and virtual environments by Relic Entertainment, EA, and other companies; his work in crowd simulation has been recognized by best paper awards at international conferences. Prior to joining Minnesota, he received his Ph.D. in Computer Science in 2012 from the University of North Carolina - Chapel Hill with support from fellowships from Google, Intel, and the UNCF.