| Gruia-Catalin Roman and K. Cox. A Declarative Approach to Visualizing Concurrent Computations. Computer, 22(10):25--36, October 1989. |
....In Section 3 we will give examples of carefully designed animations for teaching, like Dijkstra s shortest path algorithm, the bitonic sorter, and the Fast Fourier Transform algorithm. 2 What is a Good Animation Basically, program animation systems fall into two categories (see Roman and Cox [31]; of course, there are also finer taxonomies for animation tools [27, 30, 32] In the declarative (or data driven) approach, objects in the program are mapped onto images, and each change of the object results in an automatic update of the image. Examples of declarative animation tools are Pavane ....
G. C. Roman and K. C. Cox. A declarative approach to visualizing concurrent computations. Computer, 22:25--36, 1989.
....of plausible abstractions for each. Finally, PAVANE [11] was designed to provide declarative three dimensional visualizations of concurrent programs. In PAVANE the visualizer declares a transformation between the state of a computation and the final image, according to a declarative style [9]. In contrast with the imperative one (interesting events) this approach requires a minimal knowledge of the program and doesn t require code s modification: this issue can be important in a concurrent framework since the execution may be non deterministic, due to the fact that the invasive ....
Roman, G.C.and Cox, K.C. (1989), "A declarative approach to visualizing concurrent compu- tation", Computer, 22:25 36.
....of the logic of the program. Pavane [27] is designed to provide declarative three dimensional visualizations of concurrent programs. In Pavane the visualizer declares a transformation between a fixed set of program variables and the final image by using rules according to a declarative style [25]. In contrast with the imperative style, this approach requires minimal knowledge of the program and no code modification. This issue can be important in a concurrent framework, since the execution may be non deterministic due to the fact that invasive visualization code may change the outcome ....
G.C. Roman and K.C. Cox. A Declarative Approach to Visualizing Concurrent Computations. Com- puter, 22:25 36, 1989. 21
....to express with interesting events. As we will see in Section 4, a pure state mapping approach, where there is no connection of the visualization code with the program s control flow, is intrinsically less powerful than interesting events. Examples of systems based on state mapping are Pavane [13, 15], Leonardo [8] and WAVE [9] Toolkits such as CATAI [7] GATO [16] and LEDA [10] provide self animating data structures, incorporating the principles of state mapping, but still supporting interesting events. Leonardo. In this paper we will consider examples of state mapping visualizations ....
G.C. Roman and K.C. Cox. A Declarative Approach to Visualizing Concurrent Computations. Computer, 22:25--36, 1989.
....in the source code, both at compile time and at run time, and suggests a number of possible displays for each of them. Clearly, due to the lack of a deep knowledge of the logic of the program, only the visualization of simple data structures, such as stacks or queues, can be supported. Pavane [38, 40] marks the first paradigm shift in algorithm visualization since the introduction of interesting events. It features a declarative approach to the visualization of concurrent programs. It conceives the visualization as a mapping between the state of the computation and the image space: the ....
G.C. Roman and K.C. Cox. A Declarative Approach to Visualizing Concurrent Computations. Computer, 22:25--36, 1989.
....is used for designing, developing and debugging programs, or monitoring their performance. Numerous visualisation environments have been developed addressing different areas of interest; for graphics interface development [Clemons and Greenfield 1985] for visualising concurrent processes [Roman and Cox 1989], for teaching or research [Brown and Sedgewick 1984] Myers has classified program visualisation systems by whether they illustrate code or data, and whether displays are either passive or static [Myers 1986] In addition, dynamic displays are either passive, such as a videotape, or interactive, ....
Roman, G. and K.G. Cox, A Declarative Approach to Visualizing Concurrent Computations, Computer, October: 25-36.
....across the code, resulting in many related but separate annotations. Another problem with interesting events is that they cannot be used to debug an already running program that has created data structures prior to being debugged. An alternative approach to interesting events, introduced by Roman [14], is called declarative visualization. Declarative visualization is a method that defines mappings from program state to graphical objects. It depends solely on data, eliminating the need to know about a program s control flow. Thus, declarative visualization does not need access to the source ....
G.-C. Roman, K. Cox. A Declarative Approach to Visualizing Concurrent Computations Computer, 22(10):25--36, October 1989.
....comprehensible form. It can often be very difficult to relate the low level account of program behaviour provided by the trace data to the source code. Compounding this problem is the tendency for parallel programming environments to provide progressively higher level programming facilities [CG88, RC89, DFH 93] Whilst this is of great assistance in the design and coding stages of program implementation, it often makes tuning more difficult, with the tuner having to relate low level events to increasingly abstract program representations. The tuner faces equally difficult problems due to ....
G. C. Roman and K. C. Cox. A declarative approach to visualizing concurrent computations. IEEE Computer, 22(10):25--36, October 1989.
....value. The answer to why helps identify how to change the program to improve the measure. But visualization has a use beyond providing images on a computer monitor: one can formally deduce properties about program execution from a visualization. This was first demonstrated by Roman and Cox [19], who deduced correctness properties. Roman and Cox illustrate that safety properties (properties that hold in all computation states, such as invariants) and progress properties (properties that hold in a particular program state) can be verified by defining a mapping of program states to a ....
G. Roman and K. Cox. A declarative approach to visualizing concurrent computations. IEEE Computer, 22(10):25--36, Oct. 1989.
....views of programs, including graphical snapshots of execution states, data type diagrams and flow graphs. Such graphical views aid reasoning about both static and dynamic properties of programs. Program animation is helpful in understanding behaviors exhibited by complex software systems [2, 31], and has found use in monitoring and debugging large scale programs. Visual notations have also been proposed to support more general reasoning paradigms. In the Conceptual Programming environment [25] for example, domain specific knowledge and rules for solving problems are represented as ....
G.-C. Roman and K. C. Cox. A declarative approach to visualizing concurrent computations. IEEE Computer, 22(10):25--36, Oct. 1989.
....number of plausible abstractions for each. Finally, PAVANE [11] was designed to provide declarative three dimensional visualizations of concurrent programs. In PAVANE the visualizer declares a transformation between the state of a computation and the final image, according to a declarative style [9]. In contrast with the imperative one (interesting events) this approach requires a minimal knowledge of the program and doesn t require code s modification: this issue can be important in a concurrent framework since the execution may be non deterministic, due to the fact that the invasive ....
Roman, G.C.and Cox, K.C. (1989), "A declarative approach to visualizing concurrent computation ", Computer, 22:25--36.
....tools for tracing the behavior of a distributed, concurrent computing system, such as the ParseTalk parser, are particularly needed, since their threads of control are often intertwined and hard to follow, even for experienced programmers. In particular, graphical tools have been proposed (Roman and Cox, 1989) and the ParseTalk environment has been designed on the basis of such suggestions focusing on lucid forms of control flow monitoring of concurrent distributed systems. The choice of a graphical toolbox is also perfectly in line with the underlying programming paradigm, since graphical interaction ....
ROMAN, G. & COX, K. (1989). A declarative approach to visualizing concurrent computations. Computer, 22 (10), 25-36.
....with the difference that communication among processes is performed according to the tuple space paradigm rather than by shared variables [49, 110] see section 1.1) 2.7. Polis 33 Roman and Cox describe a method to derive a graphical representation of a concurrent computation from their proofs [108]. Visualization is defined as a map from computation states into graphical objects, the purpose of the map is to describe the system behaviour. This idea is made concrete in Pavane, a program visualization system based on declarative, rule based visualization [107] Pavane represents a very nice ....
G. C. Roman and K. C. Cox. A Declarative Approach to Visualizing Concurrent Computations. IEEE Computer, 22(10):11--24, 1989.
.... an assertional programming logic and are devising proof techniques appropriate for the dynamic structure of Swarm [7, 22] In a related e#ort, we are investigating the use of the shared dataspace model as a basis for a new approach to the visualization of the dynamics of program execution [18, 19]. In this paper, we specify a proof system for Swarm similar in style to that of UNITY and illustrate its use by proving the correctness of a program to label the equal intensity regions of a digital image. UNITY uses an assertional programming logic built upon its simple computational model. By ....
....where the desired computational structure is dependent upon the data. The Swarm programming model, notation, and logic provide a foundation for several other promising research e#orts. We believe visualization can play a key role in exploration of concurrent computation. Companion papers [18, 19] outline a declarative approach to visualization of the dynamics of program execution an approach which represents properties of an executing program s state as visual patterns on a graphics display. We are also studying the relationship of Swarm to other approaches, e.g. rule based systems ....
G.-C. Roman and K. C. Cox. A declarative approach to visualizing concurrent computations. Computer, 22(10):25--36, October 1989.
.... Our study of the shared dataspace paradigm has a very broad scope, encompassing the development of formal (operational and axiomatic) semantic models [12, 13, 30] novel programming metaphors specific to the shared dataspace paradigm [29] and new approaches to visualizing concurrent computations [28]. This paper reports the progress toward the development of the Swarm model and a few of its programming implications. The paper has three parts. Section 2 informally overviews the Swarm model and programming notation. To illustrate the kinds of algorithms one can construct in shared dataspace ....
....dissolve on its own. Finally, detectives may monitor either the tuple or the transaction spaces, seeking to determine the end of a particular phase in the computation. The reliance on formal reasoning about concurrent computations is also at the base for our approach to program visualization [28]. The visualization approach uses invariants and progress conditions to determine the kinds of visual representations which are most likely to convey the workings of the program. Actually, because the entire computational state is given by the dataspace, new and highly e#ective approaches to the ....
[Article contains additional citation context not shown here]
G.-C. Roman and K. C. Cox. A declarative approach to visualizing concurrent computations. Computer, 22(10):25--36, October 1989.
....of such programstoday, a concurrent program without a proof is hardly given any serious consideration. Since program understanding is also the primary objective of visualization, the connection between proofs and visualization seems to be a natural one, at least in principle. We showed previously [roman cox] that there is also a way to exploit this relation at a practical level. Safety and liveness properties, typically used in reasoning about concurrent computations, have appropriate visual counterparts. A safety property can be rendered as a stable visual pattern, while liveness may be captured by ....
....is particularly 2. attractive due to its simple and uniform representation of both data and control states: a single set of tuples called the dataspace. 2) Visualizations had to be easily specified and altered. This is accomplished by adopting the declarative visualization method proposed in [roman cox]. Visualization is treated as a mapping from program states to a three dimensional world of geometric objects. The latter is rendered in full color and may be examined freely by a viewer who is allowed to navigate through the geometric world as it changes in response state transitions in the ....
Roman, G.-C. and Cox, K., A Declarative Approach to Visualizing Concurrent Computations, IEEE Computer Vol 22, No. 10, pp. 25-36 (October
....internal nodes have been scanned . An abstract formulation of this algorithm appears in Figure 3. In this version, scanning of nodes is performed in numerical order with the variable k ranging from 0 to N (k#=#N occurs when the algorithm is complete) In our declarative approach to visualization [6] we find it notationally convenient to model the state as a collection of tuples. We can represent the array d by a collection of tuples of the type dist, where a tuple dist(i,j,v) indicates that d[i,j]#=#v. The collection of tuples that represents the state will thus have one dist(i,j,v) tuple ....
Roman, G.-C., and Cox, K. C., "A Declarative Approach to Visualizing Concurrent Computations," Computer, vol. 22, no. 10, pp. 25-36, 1989. 12
....programs) the subject of this paper. Program visualization has become increasingly popular in recent years, with applications ranging from simple monitoring of program execution to pedagogical presentations of algorithms designed to enhance the viewers understanding. As we have argued previously [6], program visualization may be viewed as a mapping from some aspect of the program (code, data or control state, or execution behavior) to a graphical representation. This declarative treatment of visualization is used indirectly by such traditional systems as Balsa and Zeus [1,2] where program ....
....present in the animation space. The second rule is similar but generates unfilled circles. The bottom portion of the figure shows a possible state space, the corresponding animation space, and the image represented by this animation space. Our original concept of a rule based declarative system [6] only permitted such direct mappings from the state to the image. Subsequent development work showed that these mappings are both inconvenient to use and incapable of producing many of the visualizations that we wanted. This led to the development of three distinct models for rule based ....
Roman, G.-C., and Cox, K. C., A Declarative Approach to Visualizing Concurrent Computations, IEEE Computer, vol 22, no. 10, pp 25-36, 1989.
No context found.
Roman, G.-C. and Cox, K., "A Declarative Approach to Visualizing Concurrent Computations", IEEE Computer, Vol 22 No. 10, pp. 25-36 (October 1989).
....for examining executing programs, and on its application to some simple scientific visualizations. 1. Introduction This paper is a progress report on Pavane, a program visualization system developed at Washington University in St. Louis. Pavane is based on the declarative visualization paradigm [6]. In this paradigm, visualization is treated as a mapping from some domain of interest to a graphical range. All of the various categories of visualization and visualization systems can be considered as examples of this paradigm. For example, in scientific visualization the domain is data obtained ....
....One way to model such algorithms is as global states which are modified by the computation; the state based visualization model used by Pavane was thus compatible with this type of computational model. In addition, we wished to explore an analytic methodology for developing program visualizations [6]. This methodology uses the correctness properties of the program to guide the selection and representation of key properties of the algorithm. Use of the state based model gave us access to a large number of existing proofs. We chose to represent the domain (computational state) as a collection ....
[Article contains additional citation context not shown here]
Roman, G.-C. and Cox, K. C., "A Declarative Approach to Visualizing Concurrent Computations," IEEE Computer 22(10), October 1989, pp. 25-36.
No context found.
Roman, G.-C. and Cox, K., "A Declarative Approach to Visualizing Concurrent Computations", IEEE Computer, Vol 22 No. 10, pp. 25-36 (October 1989).
....j all of whose internal nodes have been scanned . An abstract formulation of this algorithm appears in Figure 2. In this version, scanning of nodes is performed in numerical order with k ranging from 0 to N (k =#N occurs when the algorithm is complete) In our declarative approach to visualization [6] we find it notationally convenient to model the state as a collection of tuples. We can represent the array d by a collection of tuples of the type dist, where a tuple dist(i,j,v) indicates that d[i,j] #v. The collection of tuples that represents the state will thus have one dist(i,j,v) tuple ....
Roman, G.-C., and Cox, K. C., "A Declarative Approach to Visualizing Concurrent Computations," Computer, vol. 22, no. 10, pp. 25-36, 1989.
No context found.
Gruia-Catalin Roman and K. Cox. A Declarative Approach to Visualizing Concurrent Computations. Computer, 22(10):25--36, October 1989.
No context found.
G.-C. Roman and K.C. Cox, A Declarative Approach to Visualizing Concurrent Computations, IEEE Computer, Volume 22, Number 10, October 1989, pp. 25-36. 61
No context found.
Roman, G.-C., and Cox, K. C., "A Declarative Approach to Visualizing Concurrent Computations," IEEE Computer, vol 22, no. 10, pp 25-36, 1989.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC