The fundamental concepts of rule-based programming are present in many areas of computer science, from theory to practical implementations. In programming languages, term rewriting is used in semantics as well as in implementations that use bottom-up rewriting for code generation. Rules are also used to perform computations in various systems; to describe logical inference in theorem provers; to specify and implement constraint-based algorithms and applications; and to describe and implement program transformations. Rule-based programming provides a common framework for viewing computation as a sequence of transformations on some shared structure such as a term, graph, proof, or constraint store. Rule selection and application is typically governed by a rich set of sophisticated mechanisms for recognizing and manipulating structures.
After the development of the principles of rewriting logic and of the rewriting calculus in the nineties, languages and systems such as ASF+SDF, BURG, CHRS, Claire, ELAN, Maude, and Stratego contributed to demonstrate the importance of rule-based programming. The area has since been experiencing a period of growth with the emergence of new concepts, systems, and applications domains, such as Domain Specific Languages, Generative and Aspect-Oriented Programming, and Software Engineering activities like maintenance, reverse engineering, and testing.
The goal of this workshop is to bring together researchers from the various communities working on rule-based programming to foster advances in the foundations and research on rule-based programming methods and systems; and to promote cross-fertilization between theory and practice, and the application of rule-based programming in various important domains.
Rule'08 is the ninth in a series of workshops. The first Rule workshop was held in Montréal in 2000, and subsequent editions took place in Firenze, Pittsburgh, Valência, Aachen, Nara, Seattle, and Paris.