The Agile Development of Rule Bases

Recently, with the large-scale practical use of business rule systems and the interest of the Semantic Web community in rule languages, there is an increasing need for methods and tools supporting the development of rule-based systems. Existing methodologies fail to address the challenges posed by modern development processes in these areas, namely, the increasing number of end-user programmers and the increasing interest in iterative methods. To address these challenges, we propose and discuss the adoption of agile methods for the development of rule-based systems. The main contribution of this paper is three development principles for and changes to the Extreme Programming development process to make it suitable for the development of rule-based systems.

[1]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[2]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[3]  V. Zacharias,et al.  Exploiting Usage Data for the Visualization of Rule Bases , 2006 .

[4]  Warren Harrison The Dangers of End-User Programming , 2004 .

[5]  Nigel Shadbolt,et al.  Knowledge Engineering and Management , 2000 .

[6]  Peter Constable,et al.  DSDM: Dynamic Systems Development Method: The Method in Practice , 1997 .

[7]  Mary Shaw,et al.  Estimating the numbers of end users and end user programmers , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[8]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[9]  Warren Harrison From the Editor: The Dangers of End-User Programming , 2004, IEEE Softw..

[10]  John Kingston Pragmatic KADS: a methodological approach to a small knowledge‐based systems project , 1992 .

[11]  Steve R. Palmer,et al.  A Practical Guide to Feature-Driven Development , 2002 .

[12]  Kent L. Beck,et al.  Embracing Change with Extreme Programming , 1999, Computer.

[13]  Maria J. Stokes,et al.  Managing Engineering Knowledge: MOKA-Methodology for Knowledge Based Engineering Applications , 2001 .

[14]  Alan MacCormarck Product-Development Practices That Work: How Internet Companies Build Software , 2001 .

[15]  John Yen,et al.  A task-based methodology for specifying expert systems , 1993, IEEE Expert.

[16]  Rose F. Gamble,et al.  Using meta-knowledge within a multilevel framework for KBS development , 1997, Int. J. Hum. Comput. Stud..

[17]  Margaret M. Burnett,et al.  Invited research overview: end-user programming , 2006, CHI Extended Abstracts.

[18]  Jos de Bruijn,et al.  A Realistic Architecture for the Semantic Web , 2005, RuleML.

[19]  Victor R. Basili,et al.  Iterative and incremental developments. a brief history , 2003, Computer.

[20]  Larry Kerschberg,et al.  Developing knowledge-based systems: reorganizing the system development life cycle , 1989, CACM.

[21]  Alun D. Preece,et al.  Foundation and application of knowledge base verification , 1994, Int. J. Intell. Syst..

[22]  Mary Beth Rosson,et al.  Everyday Programming: Challenges and Opportunities for Informal Web Development , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[23]  Warren Harrison From the Editor: Propaganda and Software Development , 2004, IEEE Softw..

[24]  York Sure-Vetter,et al.  On-To-Knowledge Methodology — Final Version , 2002 .

[25]  Guus Schreiber,et al.  Knowledge Engineering and Management: The CommonKADS Methodology , 1999 .