Softwaregeneratie

Website:website containing additional information
Course code:WISG
Credits:5.72 ECTS (=4 old credit points)
Period:periode 1 (week 36 t/m 43, dwz 3-9-2001 t/m 26-10-2001; herkansing week 1)
Participants:up till now 14 subscriptions
Schedule:Dit is een oud rooster!
formgrouptimeweekroomteacher
college   di 13-1537-43 BBL-108a Eelco Visser
 
do 11-1337-43 BBL-108a
practicum   di 15-1737-43 BBL-406 Eelco Visser
Eelco Dolstra
   
BBL-408
do 15-1737-43 BBL-406
BBL-408
Contents:Producing software means transforming a specification of the requirements into an implementation. Automating this process, i.e., generating an implementation from a specification, in ever new ways is the goal of software technology. In several areas this automatization has already been successful. Think of a compiler that translates `specifications' in a high-level programming language to implementations in machine code, or parser generators that generate a parser from a context-free grammar. Recently, program transformation techniques are used to implement compiler optimizations, refactoring tools, aspect weavers, and reverse engineering tools. In this course you learn to understand and apply program transformation techniques used in software generators and study applications of program transformation such as partial evaluation, refactoring, desugaring, and aspect weaving.
Literature:
  • Lecture notes on rewriting strategies (to be handed out in class)
  • Reader with selected articles (to be handed out in class)
Course form:The first three weeks consist of lectures on implementation techniques for program transformation systems using rewriting strategies. The last four weeks consist of a seminar in which a number of applications of program transformation will be discussed. You are expected to give a (joint) presentation about one of the presentation topics. You will get practical experience with the techniques from the lectures making several lab assignments.
During the course you are expected to
  • Give a presentation about one of the PresentationTopics
  • Make and submit the LabAssignments
  • Prepare for meetings by reading articles
  • Participate actively in meetings
Exam form:Your grade will be determined based on Presentation (40%) LabAssignments (60%).
Minimum effort to qualify for 2nd chance exam:Om aan de aanvullende toets te mogen meedoen is ontbreken van ten hoogte 1 toetsactiviteit toegestaan.
Description: The following topics will be studied in the course:
  • Program transformation with rewriting strategies
  • Aspect-Oriented Programming
  • Refactoring
  • Deforestation
  • Compilation by Transformation
  • Partial Evaluation
  • Decompilation
  • Generic program transformation
wijzigen?