Welcome on the home page of Wolfgang Laun.
On this page, I provide information on selected topics of computer programming, and a little entertainment for German speaking visitors (see Wortspielereien).
Challenges for Rule Systems on the Web is a general survey paper on Rule Based Systems, written by Yuh-Jong Hu, Ching-Long Yeh and Wolfgang Laun,
If you can read German, you might be interested in my article Regelbasiertes Programmieren in der Bahntechnik, which appeared in SIGNAL+DRAHT, 4/2010.
You can download the paper elaborating my talk Domain Specific Languages - Notation for Experts at Rules Fest 2011, International Conference on Reasoning Technologies and you can also look at the presentation.
You can download a comprehensive set of syntax diagrams for Drools 5.2. Note that this is "work in progress", anticipating ongoing development, subject to revision, etc.
Drools is a constantly evolving Rule Base System. I have explored some of its possibilities in the paper Event Processing in an Object-Oriented Rule-Based System.
A novel idea is described in my paper Enhancing the Usefulness of FOL Clauses in Rules.
Drools processing is centered around a Knowledge Base object. The essential initial stept to create such a Knowledge Base are illustrated in how to set up a Knowledge Base.
Drools lets you define your own Domain Specific Language for writing rules. Here is a digest of how to set up and use a Domain Specific Language.
Defining your own operators is another way of extending Drools. Here is a concise description of how to add a custom operator to the Drools LHS language. There are two examples, one for defining set intersection and another one for testing the subset relation.
The handling of exceptions that occur during the execution of a right hand side can be used to add detailed information about the rule and the participating facts. This is described in How to Implement Custom Consequence Exception Handling.
The other system I acquainted myself is Jess. You will find some of my work on the Jess Wiki pages for Jess Design Patterns and User Functions.
There is also a short paper on the relationship between Predicate Calculus and Jess which might be of general interest.
Somehow I got hooked on JAXB, the Java Architecture for XML Binding. As a result, I wrote a JAXB Tutorial. You can find it on : java.net or here, on my home page.
I have been active on Perl 5 Porters for some time, implementing the Perl version of sed, the stream editor for filtering and transforming text that comes with Unices, which you'll find in your Perl 5 installation. Also, most of the Perl 5 tutorial perlpacktut, the tutorial on "pack" and "unpack", was written by me.
YAPC Europe 2008: A Backtracking Algorithm
YAPC Europe 2008: Generate and Execute: A Paradigm for Perl Programs
Perl/Tk was another point of interest. Although it isn't quite fashionable nowadays, it is still a good platform for implementing graphical user interfaces. Here is my A Perl/Tk Cookbook.
There have been some initiatives for implementing other Unix utilities, and I have tried my hand at some of them. See below for my Perl implementations of cut, lex, m4, and od. Some of what I learned during these implementations is reported in Generate and Execute: A Paradigm for Perl Programs.
cut - remove sections from each line of files
lex - the fast lexical analyser generator
od - dump files in octal and other formats