With comments. These are not really abstracts, more like descriptions of the ``historic context'', i.e. the ideas current at the time those things were written. Everything is listed under the year of publication, not that of writing.
I started studying computer science at TU Berlin in August 1985; the first larger work by me was my "Vordiplom"-Work in 1987, of which no remaining copy exists. It was the description of the Ylem Scheme-in-Realtime-Forth system, which is partially described in the two 1991 papers.
I finished my diploma study within 10 semestes -- more or less the expected time, without having officially published anything. But in 1990, this was to change, as i got awarded an "Ernst von Siemens" stipend, which was to finance my PhD work for two years. Of course, two years grew into three, the thesis wasn't finished in time, and I only managed to rescue it 6 years after the start.
Markus Freericks, Alois Knoll:
ALDiSP - eine applikative Programmiersprache für Anwendungen in
der digitalen Signalverarbeitung,
Forschungsberichte des Fachbereichs Informatik Nr. 1990/9, TU Berlin, 147pp.
Nothing more than my masters thesis (Diplom), stripped down a
bit. Have you ever heard of anyone so utterly dumb to, in a fit a cleaning
up, remove the TeX sources of his thesis after it was handed in? Well,
that's me. Of course, the back-ups were several weeks out-dated. At the
time, i wrote my texts on a Atari ST 1040 with LaTeX, and printed it using
a NEC P6 dot-matrix printer. My harddisk had 20MB, and the different versions
of the texts tooks up quite a large amount of space.
Alois Knoll, Markus Freericks:
Aldisp - An Applicative Real-Time Language for DSP
Programming,
CIT/IEEE International Conference on Signal Processing, Beijing, 1990
Presented by Alois. Short paper on the thesis language. For all
these IEEE conferences, no good postscript versions exist -- we actually
had to send in a paper copy on special layout pages, at 120% magnification.
Horrible work, much manual cut-and-paste. Added to this was the task of
cutting down the paper to 4 pages (6 would have been adequate), resulting
in a badly lay-outed text that couldn't really explain anything.
Rupert C. Nieberle, Stefan Koschorrek, Lutz Kosentzy and
Markus Freericks:
CAMP: Computer-Aided Music Processing,
Computer Music Journal Vol. 15 No. 2 (Summer 1991)
Written in summer '89, this describes the work environment of the
computer music group I was working with in late 88'/early '89. I only heard
of the existence of these two papers in 1994! Originally, the second paper
was presented at the ICMC'89 conference in Columbus, Ohio. For some reason,
the manuscript arrived too late -- this was before widespread adoption of email! --,
and it wasn't included in the proceedings -- though Rupert and I made a
"studio presentation". As a compensation for
the lost paper, we were promised an article in the CMJ.
Rupert C. Nieberle and Markus Freericks:
Extending an Interactive Music Environment,
Computer Music Journal Vol. 15 No. 2 (Summer 1991)
Describes my "Ylem" Realtime-Scheme-in-Realtime-Forth language
extension, which I wrote as a MS thesis (Vordiplom). Of course, I optimized too
much, with the result that the final implementation ran quite fast, but the
language kernel was nearly 100% 68k assembly language. A year later, the
underlying Forth system (Formula, by Ron Kuivila and Dave Anderson), was
rewritten and vastly improved (before, it was cooperatative multitasking,
now it is preemptive), but this broke most anything of Ylem: before, task
switches were explictit and I could mostly ignore them in the GC and the
interpreter state; now, explicit locks were needed. Since I wasn't working
actively with Ylem anymore, it became a typical "orphan language".
Alois Knoll, Markus Freericks:
An applicative real-time language for DSP-programming supporting
asynchronous data-flow concepts,
in: Microprocessing and Microprogramming, Vol.32, No. 1-5 (August
1991 - Proceedings Euromicro '91), pp. 541-548
Elaborates on the asynchronous concepts of ALDiSP.
Alois Knoll, Achim Schweikard, Markus Freericks:
Eine datenflußorientierte, funktionale Programmiersprache für
die Echtzeitdatenverarbeitung,
in: Prozeßrechensystem '91, Proceedings, Berlin, Februar 1991,
Springer Informatik-Fachberichte 269
Mostly the same as the last entry, but re-written in German.
Markus Freericks:
The nML Machine Description Formalism,
Forschungsberichte des Fachbereichs Informatik Nr.91-15, TU Berlin, 1991,
41pp.
The brain-child I am proudest of, since it is used by the largest
number of people and doesn't succumb to featuritis in the way ALDiSP
does. Still, there are a lot of typos and small omissions in this version
of the nML report. Also, the yacc grammar was a mess. The report underwent
constant revision and some minor version numbers, aquired appendices and
lost them again.
Markus Freericks, Alois Knoll, Lawrence Dooley:
The Real-Time Programming Language ALDiSP-0: Informal
Introduction and Formal Semantics,
Forschungsberichte des Fachbereichs Informatik Nr.92-26, TU Berlin, 1992,
80pp.
Contains most of my PhD thesis up to that point, especially the
large section containing the formal semantics of ALDiSP, and many more
examples. The formal semantics was rewritten quite a lot later on, though,
and the examples section is omitted from the thesis. This is still the best
description of ALDiSP you can find. Everything else is too cursorily or too
technical.
Lawrence S. Dooley, Alois C. Knoll, M.A. Wahab, Andreas Fauth, Markus Freericks:
A Novel Approach to the design of DSP Systems Using Minimum
Complexity Finite State Machines,
1992 IEEE International Symposium on Circuits and Systems (ISCAS'92)
Presented by Alois, I think. Explores a nifty idea originally of
Alois and Lawrence, namely to specify a DSP system by an automaton. Things
like unwanted resonances and overflow/underflow bugs might then be detected
by inspection of the automaton, and removed from it by re-mapping the
concerned translations. The result can then be used to generate VLSI. Andi
and I implemented some of this thing to test out the ideas. Of course, it
was slow for anything beyond 3-bit arithmetic. Also of course, we didn't
mention that quite so explicitly in the paper
Markus Freericks:
The nML Machine Description Formalism (updated Version 1.2),
in: ESPRIT-II Project 2260 SPRITE Progress Report (Incl. Addendum 2 to
T.A. 3) for Period June 1992-November 1992, Report No. PR-4.2, 1. Dec.
1992, Author: SPRITE Consortium, Editor: Patrick Pype (Project Manager)
Has most of the errors and omissions of the first report
removed. At this point, nML is quite stable and we start to think of
extensions. Also, it is now an official specification language in the
CBC trajectory. (ANSI-nML can't be far away! ;-)
Markus Freericks, Alois Knoll:
Formally Correct Translation of DSP Algorithms Specified in an
Asynchronous Applicative Language,
1993 International Conference on Acoustics, Speech and Signal
Processing (ICASSP'93), Minneapolis, April 27-30, 1993
Describes the basic approach of the ALDiSP compiler, namely to turn
an interpreter (which has to be correct, since it is derived from the
semantics) into a compiler by adding partial evaluation to it. Yet another
IEEE-style horror-layout paper.
Markus Freericks, Alois Knoll:
Writing and Compiling DSP Algorithms in an Asynchronous Applicative
Language,
International Conference on Signal Processing '93 (ICSP'93), Beijing
Presented by Andi, who was in Peking anyhow to present a CBC
paper. Mostly a re-hash of the "examples" section in the 92-26 TR. Yet
another IEEE-style horror-layout paper, with additional problems due to
chinese printers.
Andreas Fauth, Markus Freericks, Alois Knoll:
Generation of Hardware Machine Models from Instruction Set
Descriptions,
in: VLSI Signal Processing, VI, Eggermont et.al. (eds), IEEE Signal
Processing Society, 1993
This is a paper both Andi and I are quite proud of. We had both
been thinking about nML internal representations for a long time (a year?
more?). Finally, we sat in the TU for a long weekend and discussed the
Right (TM) Way to represent nML descriptions using an Grand Unified
Model. As a result, we now have a concept of generating hardware directly
from nML, which also proves to be the foundation of the timing and
pipelining models (Andi's thesis will be on this). BTW: this workshop,
while being an IEEE conference, allowed a decent publication format - no
page restrictions, and we could send in postscript.
Frank Löhr, Andreas Fauth, Markus Freericks:
SIGH/SIM - An Environment for Retargetable Instruction Set
Simulation,
Forschungsberichte des Fachbereichs Informatik Nr.93-43, TU Berlin, 1993,
33pp.
Describes Frank's Studienarbeit on an nML simulator, implementing
many of the ideas of the VLSI'93 paper.
Stephan Rebbelmund, Andreas Fauth, Markus Freericks:
The Inspector Tool
in: ESPRIT-II Project 2260 SPRITE Final Report, etc.pp.
I am not quite sure whether that made it out of the house. Have to
look it up sometime. I don't think i ever laid my eyes on that final
report. I invested a lot of time and energy in the inspector tool, this is
no vanity report -;)
Markus Freericks, Andreas Fauth, Alois Knoll:
Implementation of complex DSP systems using High-Level Design
Tools,
in: Signal Processing VI: Theories and Applications,
M. Holt, C. Cowan, P. Grant, W. Sandham (Eds.),
pp. 1329-1332,
(Proceedings of EUSIPCO-94, 7th Europ. Signal Processing Conference,
Edinburgh, Scotland, UK, 13-16 Sept. 1994)
Describes the CBC system in its final form.
Markus Freericks, Andreas Fauth, Alois Knoll:
A Basic Semantics for Computer Arithmetic,
Technischer Bericht 94/6,
Technische Fakultät,
Universität Bielefeld
A formalization of the boring details surrounding computer
arithmetic. Partly a formalization of things such as "carry", "overflow",
"2-s complement", "saturated arithmetic" and so on. Still not
finished. Have to do it one of these weeks.
Andreas Fauth, Johan Van Praet, Markus Freericks:
Describing Instruction Set Processors Using nML (Extended
Version),
to be published in: Proceedings of the EDC'95
(Europ. Design Conf.)
Was presented by Johan, I think. Describes the then-current status
of the nML, as it was used by IMEC and by us. Also says quite a few words on
pipeline modelling, and control flow.
Markus Freericks:
Design and Implementation of a Partial
Evaluation-Based Compiler for an Asynchronous Realtime Programming Language
Dissertation, Universität Bielefeld, 1997
My PhD thesis, started in 1991, 70% finished in 1992, 99% finished in
mid-1995, twiddled around for a year, submitted in October 1996, presented
in September 1997, printed in April 1998. Truly "PhD theses are not
finished, but abandoned". "Only" 171 pages, but i have written and re-written
every one of them quite a few times.
The latter half of the year was spent specifying a scalable, distributed application server design. Not publishable work.
The following years saw me writing parts of an operating system for a mini-computer (the MultiKit) in Assembly and C; server- and client-software for a 2½D-graphical chat game (the Welt am Draht), a Perl-based web site generator used to generate the main public web site of a large car manufacturer, the template generation engine of a CMS used by a german news website, and 7 successive generations of an online car configurator (one Perl-based CGI version that evolved a lot over the years, one Java version that used JSP as its templating language, a Java version that uses Velocity templates), and a version that contains two parts: static content is written into a Redis DB, which is then used by a CMS to publish cacheable pages; and dynamic content updates are fetched using requests that return JSON. In support of the configurator, i also developed a dependency injection framework that supports feature scopes and multi-tenant application instances with in-flight updates.
But none of that can be published.