Engr 691-06: Special Topics in Engineering Science
(Software Language Engineering)
Spring 2009
Lecture Notes and Web Resources
- M. P. Ward. "Language-Oriented Programming,"
Software---Concepts and Tools, Vol. 15, No. 4, pp. 147-161,
1994. Also available as
http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf.
- Doug Rosenberg with Kendall Scott. "Domain Modeling," Chapter 2
in Use Case Driven Object Modeling with UML,
Addison Wesley 1999.
-
Slides on domain modeling, course
registration system example.
- Doug Rosenberg with Kendall Scott. "Use Case Modeling," Chapter 3
in Use Case Driven Object Modeling with UML,
Addison Wesley 1999.
- Reference: Alistair Cockburn. "Introduction," Chapter 1 in
Writing Effective Use Cases, Addison-Wesley, 2001.
- James Coplien, Daniel Hoffman, and David Weiss.
"Commonality and Variability in Software Engineering,"
IEEE Software. Vol. 15, No. 6, November 1998.
- Jon Bentley. "Programming Pearls: Little Languages,"
Communications of the ACM, Vol. 29, No. 8, pp. 711-721,
August 1986.
[PDF]
- H. C. Cunningham. "A Little Language for Surveys: Constructing an
Internal DSL in Ruby," In Proceedings of the ACM SouthEast
Conference, 6 pages, March 2008.
[manuscript]
[presentation]
- H. Conrad Cunningham. "Domain-Specific Language for Simple Surveys"
[Ruby source code]
[test DSL input file]
[test DSL input file with errors]
- Martin Fowler.
Domain Specific Languages, book under development
http://www.martinfowler.com/dslwip/,
Accessed 1 May 2009.
Other reference material (handed out but not discussed explicitly)
- Martin Fowler. "One Lair and Twenty Ruby DSLs," Chapter 3 in
The ThoughtWorks Anthology: Essays on Software Technology and
Innovation, pp. 15-38, Pragmatic Bookshelf, 2008.
- Steve Freeman and Nat Pryce. "Evolving an Embedded
Domain-Specific Language in Java," In Proceedings of the ACM
SIGPLAN International Conference on Object-Oriented Programming,
Systems, Languages, and Applications (OOPSLA), 12 pages, 2006.
(Online copy at http://www.jmock.org/oopsla2006.pdf.)
Relevant references from Fall 2006 Ruby Software Development
class
- Martin Fowler. Language Workbenches: The Killer-App for Domain
Specific Languages?
http://www.martinfowler.com/articles/languageWorkbench.html, June
2005.
[author's website]
[local copy]
- Martin Fowler. Generating Code for DSLs,
http://www.martinfowler.com/articles/codeGenDsl.html,
June 2005.
[author's
website]
- Conrad Cunningham. Ruby version of Fowler's DSL framework.
- Jim Weirich. "Rake Tutorial," "Rake User Guide," and "Rake by
Example," 2005.
(Basic ideas discussed.)
[Ruby Rake web site]
- Jim Freeze. Creating DSLs with Ruby,
Artima Developer,
http://www.artima.com/rubycs/articles/ruby_as_dsl.html,
March 2006.
[Artima website]
[local printer-friendly copy]
- Jamis Buck. Writing Domain Specific Languages,
the { buckblogs :here }, 20 April 2006.
[blog entry]
UP to Engr 691 Software Language Engineering root document?
Copyright © 2009, H. Conrad Cunningham
Last modified: Wed, 13 May 2009