CIS Logo

University of Oregon
Computer & Information Science

CIS 410/510
Domain-Specific Languages
and Software Architectures

Fall 2000

Deschutes 260, Tu Th 12:30-14:00

Instructor: Michal Young [home][ ]

Current: [XML and XSLT] [Email transaction scripting]

Overview

A domain-specific language (DSL) is a common way of packaging software components for reuse within an application domain. We will examine when a DSL is appropriate, how DSLs are designed, and how DSLs are implemented. Our perspective will emphasize the software engineering aspects of DSLs and architectural design, rather than programming language design and implementation. We will study several DSLs to explore alternative design and implementation strategies and their tradeoffs. Students will design and implement at least one "little language".

Course Objectives

This course will be a success if, at the conclusion of the term,

Topics

Some example DSLs

We'll look at some of these and some other languages and systems:

Projects, Homework, Exams

All students in CIS 410 and CIS 510 will be expected to complete several exercises, including design and implementation of a simple DSL. The implementation project may be carried out in teams of 2 or 3 students.

CIS 510 students will be expected to write a short paper (5-10 pages) and make a class presentation on a DSL or a comparison of DSLs for a particular domain.

Pre-requisites

To get the most from this course, you should already have completed one of the following: CIS 425, CIS 625, CIS 422, CIS 522, or CIS 650. However, the only strictly required prerequisite is CIS 315 or graduate standing.

 


Last change Thu, Nov 2, 2000 by Michal Young