<<< Previous speaker next speaker >>>

Rebecca Parsons, ThoughtWorks

 Rebecca  Parsons

Dr. Parsons has more than 20 years of application development experience in industries ranging from telecommunications to emergent internet services. She has been published in language and artificial intelligence media, served on numerous program committees, and currently reviews academic articles for several journals.

Before coming to ThoughtWorks she worked as an assistant professor of computer science at the University of Central Florida. She also worked as director's post doctoral fellow at the Los Alamos National Laboratory researching issues in parallel and distributed computation, genetic algorithms, computational biology and non-linear dynamical systems.

Dr. Parsons holds a [Ph.D] in Computer Science from Rice University.

Presentation: "Intentional Software"

Time: Monday 16:15 - 17:15

Location: C103 Music Hall

Abstract: Intentional Software is pioneering a radical new software approach where business domain experts collaborate in a new, more effective way with software developers. Domain experts create, analyze and collaborate on “business domain code” in the domain language of the business. Whenever the domain experts are satisfied, the software developer processes the domain code into applications. Similar to how spreadsheets empowered business users, businesses will innovate faster and accelerate software creation and maintenance. Software developers are still responsible for the software created, but instead of coding every (change in) business requirements, they concentrate on the job they do best: creating clean, reusable and reliable code.

Workshop: "Domain Specific Languages"

Track: Tutorial

Time: Thursday 09:00 - 16:00

Location: C103 Music Hall

Abstract:

Domain Specific Languages (DSLs) are an old technique in softwaredevelopment that's getting a recent resurgence in interest. Mostdevelopers run into them regularly - as XMLconfiguration files, regular expressions, query languages or buildscripts. However they haven't been given the attention they deserve andthere is very little information out there to help developers build themeffectively. We find that few people have done much to build their ownDSLs and even fewer have a broad appreciation of the various techniquesinvolved.

This tutorial is a step towards closing this gap. We'll begin byintroducing the three main categories of DSLs: External, Internal, andLanguage Workbenches. We'll talk about the advantages of DSLs and theproblems in using them, so that you'll appreciate what the differentstyles look like and when you might want to build them. In the secondpart we'll go into more details on techniques of working with each ofthe three styles, to get you started on your own work.

We are currently working to develop a coherent pedagogic framework (ifyou'll forgive a pretentious name) for DSLs, this tutorial is anopportunity to catch up with our work. However it does come with acaveat: we are still very much in the middle of the process of capturingand organizing this knowledge. As a result we won't be describing afinished body of knowledge, but rather one that is still evolving.

Keywords: DSL, Domain Specific Language, Java, Groovy, Ruby, Intentional Software, MPS, C#, Languages, Hot topic, Patterns

Target audience: Any developer interested in the current thinking and state of the art in Domain Specific Languages. This tutorial encourages thinking beyond frameworks and API's, starting to think about fluency in computer languages, from both theoretical and practical standpoints.