Barrett R. Bryant
University of North Texas
Keynote title : Grammarware, Semantics and Modelware
There are many problems whose solutions take the form of patterns that may be expressed using grammars (e.g., speech recognition, text processing, genetic sequencing, programming language development, etc.). Grammar inference (GI) is the process of learning a grammar from examples, either positive (i.e., the pattern should be recognized by the grammar) and/or negative (i.e., the pattern should not be recognized by the grammar). This talk will start by presenting two novel applications of grammar inference to software engineering, namely recovery of domain-specific language (DSL) specifications from example DSL programs and recovery of a meta model from software model instances which have evolved independently of the original meta model. Software constructed from grammars is called grammarware. However, such approaches are limited by their consideration of syntax only, so we also explore how semantics may be used to improve this process and the unique challenges of using semantics in the context of domain-specific languages and software modeling. The results offer promise in automating various types of modelware.
Barrett R. Bryant is Professor and Chair of Computer Science and Engineering at the University of North Texas. He received his B. S. in computer science from the University of Arkansas at Little Rock in 1979 and his M. S. and Ph. D. in computer science from Northwestern University in 1980 and 1983, respectively. From 1983-2011, he was on the faculty of the University of Alabama at Birmingham. He has also held visiting appointments at a number of institutions, including Ibaraki University, Hitachi, Japan, the Naval Postgraduate School, Monterey, California, USA, and Tsinghua University, Beijing, China. His research interests include theory and implementation of programming languages, formal specification of software systems, and model-driven software engineering, and he has authored or co-authored over 140 published papers in these areas. He serves on the Steering Committee of SAC (ACM Symposium on Applied Computing), and was formerly Chair of the ACM Special Interest Group on Applied Computing (2003-2009). He is a member of EAPLS, and a senior member of ACM and IEEE. Further details are available at http://www.cse.unt.edu/~bryant.