Abstract
We propose a new focus in language design where languages provide constructs that not only describe the computation of results, but also produce explanations of how and why those results were obtained. We posit that if users are to understand computations produced by a language, that language should provide explanations to the user.
As an example of such an explanation-oriented language we present a domain-specific language for explaining probabilistic reasoning, a domain that is not well understood by non-experts. We show the design of the DSL in several steps. Based on a story-telling metaphor of explanations, we identify generic constructs for building stories out of events, and obtaining explanations by applying stories to specific examples. These generic constructs are then adapted to the particular explanation domain of probabilistic reasoning. Finally, we develop a visual notation for explaining probabilistic reasoning.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Abraham, R., Erwig, M.: GoalDebug: A Spreadsheet Debugger for End Users. In: 29th IEEE Int. Conf. on Software Engineering, pp. 251–260 (2007)
Achinstein, P.: The Nature of Explanation. Oxford University Press, New York (1983)
Blumenkrants, M., Starovisky, H., Shamir, A.: Narrative Algorithm Visualization. In: ACM Symp. on Software visualization, pp. 17–26 (2006)
Dowe, P.: Physical Causation. Cambridge University Press, Cambridge (2000)
Dummett, M.: Bringing About the Past. Philosophical Review 73, 338–359 (1964)
Erwig, M.: Abstract Syntax and Semantics of Visual Languages. Journal of Visual Languages and Computing 9(5), 461–483 (1998)
Erwig, M., Kollmansberger, S.: Probabilistic Functional Programming in Haskell. Journal of Functional Programming 16(1), 21–34 (2006)
Erwig, M., Walkingshaw, E.: A Visual Language for Representing and Explaining Strategies in Game Theory. In: IEEE Int. Symp. on Visual Languages and Human-Centric Computing, pp. 101–108 (2008)
Friedman, M.: Explanation and Scientific Understanding. The Journal of Philosophy 71(1), 5–19 (1974)
Giry, M.: A Categorical Approach to Probability Theory. In: Banaschewski, B. (ed.) Categorical Aspects of Topology and Analysis, pp. 68–85 (1981)
Hehner, E.C.R.: Probabilistic Predicative Programming. In: Kozen, D. (ed.) MPC 2004. LNCS, vol. 3125, pp. 169–185. Springer, Heidelberg (2004)
Hempel, C.: Aspects of Scientific Explanation and Other Essays in the Philosophy of Science. Free Press, New York (1965)
Holland, J., Holyoak, K., Nisbett, R., Thagard, P.: Induction: Processes of Inference, Learning and Discovery. MIT Press, Cambridge (1986)
Hudak, P.: Building domain-specific embedded languages. ACM Computing Surveys 28(4es), 196–196 (1996)
Humphreys, P.: The Chances of Explanation. Princeton University Press, Princeton (1989)
Karavirta, V., Korhonen, A., Malmi, L.: Taxonomy of Algorithm Animation Languages. In: ACM Symp. on Software visualization, pp. 77–85 (2006)
Kerren, J.T., Stasko, A.: Algorithm Animation – Introduction. In: Diehl, S. (ed.) Dagstuhl Seminar 2001. LNCS, vol. 2269, pp. 1–15. Springer, Heidelberg (2002)
Kitcher, P.: Explanatory Unification and the Causal Structure of the World. In: Kitcher, P., Salmon, W. (eds.) Scientific Explanation, pp. 410–505. University of Minnesota Press, Minneapolis (1989)
Ko, A.J., Myers, B.A.: Debugging Reinvented: Asking and Answering Why and Why Not Questions About Program Behavior. In: IEEE Int. Conf. on Software Engineering, pp. 301–310 (2008)
Morgan, C., McIver, A., Seidel, K.: Probabilistic Predicate Transformers. ACM Transactions on Programming Languages and Systems 18(3), 325–353 (1996)
Pearl, J.: Causality: Models, Reasoning and Inference. Cambridge University Press, Cambridge (2000)
Pennington, N., Hastie, R.: Reasoning in Explanation-Based Decision Making. Cognition 49, 123–163 (1993)
Ramsey, N., Pfeffer, A.: Stochastic Lambda Calculus and Monads of Probability Distributions. In: 29th Symp. on Principles of Programming Languages, January 2002, pp. 154–165 (2002)
Ruben, D.: Explaining Explanation. Routledge, London (1990)
Salmon, W.: Scientific Explanation and the Causal Structure of the World. Princeton University Press, Princeton (1984)
Salmon, W.: Four Decades of Scientific Explanation. University of Minnesota Press, Minneapolis (1989)
Salmon, W.: Causality without Counterfactuals. Philosophy of Science 61, 297–312 (1994)
Scaffidi, C., Shaw, M., Myers, B.: Estimating the Numbers of End Users and End User Programmers. In: IEEE Symp. on Visual Languages and Human-Centric Computing, pp. 207–214 (2005)
von Wright, G.: Explanation and Understanding. Cornell University Press, Ithaca (1971)
Woodward, J.: Making Things Happen. Oxford University Press, New York (2003)
Wright, S.: Correlation and Causation. Journal of Agricultural Research 20, 557–585 (1921)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 IFIP International Federation for Information Processing
About this paper
Cite this paper
Erwig, M., Walkingshaw, E. (2009). A DSL for Explaining Probabilistic Reasoning. In: Taha, W.M. (eds) Domain-Specific Languages. DSL 2009. Lecture Notes in Computer Science, vol 5658. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03034-5_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-03034-5_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-03033-8
Online ISBN: 978-3-642-03034-5
eBook Packages: Computer ScienceComputer Science (R0)