Donnerstag, 24. September 2009

Declarative Programming on example of SuDoKu game

Starting Phase
- collecting questions
- defining structure

I read about rule-based systems, so-called expert systems, during my studies, even tried my luck in creating an Artificial Intelligence on a LISP shell for the ATARI 1024, but never really spent any effort to understand a bit more ... till by accident, I got into a project which had a goal to separate "business rules" from the rest of the IT infrastructure. Very soon I was feeling inspired ... again ;-)

In last months I spent many hours showing my friends and colleagues what I learned. Now, finally, I decided to make a blog on this topic with the hope to provide others with some useful information, as well as, to get myself to the next level. I am just a beginner ;-)

This post is most probably never going to be finished as my intention is to write all my (random) thoughts in it and drive it more like a working document. Therefore, please provide me with your feedback and your own (random) thoughts on this topic.

While reading the Drools documentation I came across an example showing basic ideas of rule-based system being used to solve the SuDoKu game. In my opinion the SuDoKu is a perfect candidate to use the declarative approach and show the benefits compared to imperative approach. Since I did not completely agree with the implementation of the original SuDoKu example, I remodelled and rewritten it from scratch. It is always a pleasure using SWING, but here I will concentrate more on declarative side of the solution.

So here it is ...


- problem definition
- data model and solution approach
- implemented classes
- (business) rules







Keine Kommentare: