1. They seem to claim the TPM can represent the execution procedure for any kind of Prolo g program, which I still feel skeptical. To me, logic programming can be very complicated . Will AND/OR tree representation be sufficient in any case?
2. In the VITAL project, it is not clear to me how they perform the comparison between di fferent visualizations.
1. TPM is probably the best example of a visual execution environment tool which is obvio usly useful to students learning programming, because Prolog execution is NOT easy to unde rstand. Why isn't TPM more widely used?
2. Has anyone done empirical testing to find out if students understand TPM, and if it he lps them understand Prolog better or faster?
1. Can systems similar to the TPM be used in compiler preprocessing, such as for LEX & YA CC? I can also see a good use of knowledge-based systems visualization tools in the area of databases.
2. Too much information presented on display. HAve studies been done on how useful these knowledge-based tools are?
1. Since the rules of Prolog are based on a closed world assumption, how do the visualizat ion programs visualize the queries or the corresponding results which are not supported in the knowledge base, especially one with graphic view (such as tree structure)?
2. For AI visualization, the difficulty is to handle very large amounts of information. At least, from the snapshot of the TRI system, it will really scare away many people. The qu estions seem come back to the issues such as how to simplify the informatio n to visualize at the same time without sacrificing key points, how to choose simple models to implement visualization (more like HCI issue), and how to build levels of granularity to allow users to have more choices.
1. Do Prolog or knowledge based programmer use these visualizatoins to help them debug?
2. It seems like the detailed view of TPM couldn't represent very many nodes. Wouldn't y ou usually need to be able to see a detailed view of more nodes? They're less detailed vi ews seem to show a lot of nodes.
1. For the three major types of programming languages (declarative, functional, and imperative), we have seen different ways of animating their execution and output. How are these substanstially different, and is there some "base" algotihm animation that could do all of them?
2. For a language like prolog, rules are very important, for they form the basis of things like decision-making and how things are carried out. We can also start off with rules and add new ones along the way. What happens if we later find a rule to be false? Is there a mechanism for eliminating this and any dependencies on it?