Domain Specific Languages
2/13 Department Seminar
H. Conrad Cunningham, Professor and Chair
Department of Computer and Information Science
3:00 p.m., February 13, 2013
235 Weir Hall
A Little Language for Surveys: Constructing an Internal DSL in Ruby
Using a problem domain motivated by Jon Bentley's classic Programming Pearls column on "Little Languages", this presentation explores the use of the Ruby programming language's flexible syntax, dynamic nature, and reflexive metaprogramming facilities to develop an internal domain-specific language (DSL) for specifying and executing surveys. This research systematically analyzes the survey domain using commonality and variability analysis and then uses the analysis to design a novel domain-specific language (DSL) targeted at that domain. In addition to the powerful features of Ruby, the implementation exploits several design patterns including the Two-Pass, Object Scoping, Context Variable, Deferred Evaluation, Memento, and Visitor patterns.
BIO: Dr. H. Conrad Cunningham is Professor and Chair of Computer and Information Science at the University of Mississippi. Cunningham's current research focuses on methods and tools for the design of domain-specific languages, multiparadigm programs, and flexible software families, including both component-based systems and object-oriented software frameworks. More broadly, his research and teaching interests and expertise are in software architecture, component-based software development, concurrent and distributed computing, formal methods, and programming languages. Cunningham is a self-confessed programming language geek who was once thanked by a former student, then working at Microsoft on the .NET Common Language Runtime, for teaching weird languages.
Cunningham joined the Department's faculty in 1989 and assumed the role of Department Chair in 2001. He has a BS in mathematics from Arkansas State University (1976) and MS (1978) and DSc (1989) degrees in computer science from Washington University in St. Louis. He also has several years of professional experience in the aerospace industry and university research settings.