2IS20
(Software Construction): 2005 edition
This page
is for the third trimester of the Software Construction course taught by Prof. Bruce Watson. Below, you will find details
(those in red are from last year, but give a hint of where we’re going).
Lecture structures and
sheets/notes
Below, you
will find a brief sketch of where we’re going or have gone. This year, you will
get an overview of our work in software construction in Eindhoven, and a short
course on Aspect-Oriented Programming, given by Tamas Kozsik. For more
information, attend the lectures. In the links, you will mostly find Acrobat
documents of sheets or research papers. Some of them are also to be found in
the library; I wouldn’t really suggest that it’s interesting to print them all
out, but rather to read online. (Please note that the chosen dates are subject
to some changes.)
- Wednesday 20 March: We begin
with an introduction to modern software construction, along with the
specific foci of the software construction group in Eindhoven.
The sheets from this can be found here.
- Monday 11 April-Thursday 14
April: guest lectures on Aspect-Oriented Programming. The complete details
are given here.
-
- Lecture 3 (Wednesday 19 May):
We have an introduction to TABASCO
(Taxonomy-Based Software Construction). The sheets for this consist of the
first few sheets here.
Since there are some weeks between lectures 3 and 4, you are very strongly
encouraged to read the papers here (see lecture 7).
- Lecture 4 (Wednesday 26 May):
Loek Cleophas presented a real-life taxonomy (for keyword pattern
matching); the online sheets for the real-life taxonomy are here,
some examples in PDF are here, and the same examples in
PowerPoint are here.
- Lecture 5 (Wednesday 2 June):
We continued the real-life taxonomies, going further with the algorithms
for building/constructing minimal acyclic deterministic finite automata,
with the sheets here.
The monograph that I mentioned is here.
- Lecture 6 (Wednesday 9 June):
This extra lecture will be given by dr.ir. Tom Verhoeff (also from the
TU/e); he will present material on his Puzzle Processor. You will NOT have
to do a separate assignment on this topic, but you can expect this to be a
rich source of ideas for your project. Tom’s lecture notes are to be found
at www.win.tue.nl/~wstomv/edu/soc/
- Lecture 7 (Wednesday 16 June):
Today’s lecture will actually be a closing-off of this course, since all
of the material I want to present in class has been giving, and it just
remains for you to do some reading and also finalize your project. For
that reason, in class today, I will specifically expect each group to give
a short (3-10 sentence) description of their chosen field, and what they
intend to accomplish (taxonomy, toolkit, DSL, benchmarking, …) in it. Come
prepared!
Project/assignment
As you
will hopefully recall, this course will be evaluated on the basis of a project
done in small groups. Here are some details about what you need to deliver:
- Complete it, and submit it to
me (by email only at b.w.watson@tue.nl,
not any other email address for me — marks will be deducted if you
do) by the 15th of July 2005.
- It must have a short report
included in the package. You can write in Dutch or English with no penalty
either way. It should not be too long (I would expect in the region of
15-40 pages (not including your code, which should be submitted
electronically in a zip file) — I’d be surprised if it were shorter
or longer) and should describe:
- The problem area you are
dealing with.
- Your taxonomy (if you did one),
including some choices you made.
- Your toolkit, including
implementation issues.
- A DSL or benchmarking data,
if applicable.
- You should include your code,
along with whatever project or make files I might need to rebuild it. It
must also include a read-me about how to build it, and perhaps a
demonstration file.
Please
take care to send the report in .ps, .pdf, .html (no scripting), .dvi or .rtf
formats in case of viruses. Similarly, please make sure you scan your .exe
files if you include some kind of demonstration.