ABSTRACT
In this paper, we introduce an approach to visualize the inference process in a rule engine -- Drools, which employs Rete as its pattern matching algorithm. As a software visualization work, our approach is focused on both static structure of the Rete network and dynamic behavior of the inference process. Since logic programming is distinct from other traditional programming paradigms, our approach is also different from traditional program/algorithm visualization methods. In this paper, we first introduce the target we choose to visualize, and then provide a description of the problem and our visualization approach. Finally, with an implementation and an interesting case -- sudoku solving, we show that the visualization work is helpful to understanding not only the Rete algorithm, but also the rules used in the inference. Besides, our work supports debugging, tracing and analyzing the rule engine, which is useful in finding errors and optimization.
- Y. Adachi. Prolog visualization system using logichart diagrams. CoRR, abs/0903.2207, 2009.Google Scholar
- T. Ball and S. G. Eick. Software visualization in the large. Computer, 29:33--43, April 1996. Google ScholarDigital Library
- M. H. Brown. Algorithm Animation. MIT Press, Cambridge, Massachussets, 1988.Google Scholar
- S. Diehl. Software Visualization: Visualizing the Structure, Behaviour, and Evolution of Software. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2007. Google ScholarDigital Library
- S. G. Eick, J. L. Steffen, and E. E. Sumner, Jr. Seesoft-a tool for visualizing line oriented software statistics. IEEE Trans. Softw. Eng., 18:957--968, November 1992. Google ScholarDigital Library
- J. Flower and G. Stapleton. Automated theorem proving with spider diagrams. Electronic Notes in Theoretical Computer Science, 91:246--263, 2004. Proceedings of Computing: The Australasian Theory Symposium (CATS) 2004.Google ScholarCross Ref
- C. L. Forgy. Rete: A fast algorithm for the many pattern/many object pattern match problem. Artificial Intelligence, 19(1):17--37, 1982.Google ScholarDigital Library
- C. Grant. Software Visualization in Prolog. PhD thesis, University of Zurich, 2001.Google Scholar
- S. Grissom, M. F. McNally, and T. Naps. Algorithm visualization in cs education: comparing levels of student engagement. In Proceedings of the 2003 ACM symposium on Software visualization, SoftVis '03, pages 87--94, New York, NY, USA, 2003. ACM. Google ScholarDigital Library
- A. Marcus, L. Feng, and J. I. Maletic. 3d representations for software visualization. In Proceedings of the 2003 ACM symposium on Software visualization, SoftVis '03, pages 27--ff, New York, NY, USA, 2003. ACM. Google ScholarDigital Library
- R. Mazza. Introduction to Information Visualization. Springer, London, 2009. Google ScholarDigital Library
- L. Mondshein, A. Sattar, and T. Lorenzen. Visualizing prolog: a "jigsaw puzzle" approach. ACM Inroads, 1:43--48, December 2010. Google ScholarDigital Library
- B. A. Myers. Taxonomies of visual programming and program visualization. Journal of Visual Languages & Computing, 1(1):97--123, 1990. Google ScholarDigital Library
- S. J. Russell and P. Norvig. Artificial Intelligence: a modern approach. Prentice Hall, 2nd international edition edition, 2003. Google ScholarDigital Library
- C. A. Shaffer, M. Cooper, and S. H. Edwards. Algorithm visualization: a report on the state of the field. In Proceedings of the 38th SIGCSE technical symposium on Computer science education, SIGCSE '07, pages 150--154, New York, NY, USA, 2007. ACM. Google ScholarDigital Library
- C. A. Shaffer, M. L. Cooper, A. J. D. Alon, M. Akbar, M. Stewart, S. Ponce, and S. H. Edwards. Algorithm visualization: The state of the field. Trans. Comput. Educ., 10:9:1--9:22, August 2010. Google ScholarDigital Library
- J. Stasko, J. Domingue, M. H. Brown, and B. A. Price, editors. Software Visualization: Programming as a Multimedia Experience. MIT Press, Cambridge, MA, 1998.Google ScholarDigital Library
Index Terms
- Visualizing inference process of a rule engine
Recommendations
Visualizing Coordination In Situ
INFOVIS '05: Proceedings of the Proceedings of the 2005 IEEE Symposium on Information VisualizationExploratory visualization environments allow users to build and browse coordinated multiview visualizations interactively. As the number of views and amount of coordination increases, conceptualizing coordination structure becomes more and more ...
Visualizing Software Structures through Enhanced Interactive Sunburst Layout
AVI '16: Proceedings of the International Working Conference on Advanced Visual InterfacesVisualizing large software system structure in compact representations would help software architects and analysts in understanding the overall software structure accurately and efficiently. Space-filling techniques (e.g., Sunburst or Tree-map) are ...
Visualizing Program Executions on Large Data Sets
VL '96: Proceedings of the 1996 IEEE Symposium on Visual LanguagesUnderstanding and interpreting large data sets is an important but challenging operation in many technical disciplines. Computer visualization has become a valuable tool to help portray characteristics of large data sets. In software visualization, ...
Comments