The end of the 1980s saw a growing interest in object orientation as both a design and programming methodology with the advent of programming languages like C++ and Eiffel. The trend was taken up by some in the formal methods community, including a team of researchers in Australia. Their contribution was a formal specification language, Object-Z, which had immediate industrial impact, gained rapid international recognition, and then two decades later began to fade, along with some of its contemporaries, from the formal methods scene. This paper details the rise and fall of Object-Z from the perspective of two of its original developers.
Topological simplification of scalar and vector fields is wel lestablished as an effective method for analysing and visual ising complex data sets. For multi-field data, topological analys is requires simultaneous advances both mathematically and comp utationally. We propose a robust multivariate topology simpli fication method based on “lip”-pruning from the Reeb Space. Math ematically, we show that the projection of the Jacobi Set of m ultivariate data into the Reeb Space produces a Jacobi Structu re that separates the Reeb Space into simple components. We als o show that the dual graph of these components gives rise to a Re eb Skeleton that has properties similar to the scalar contour t ree and Reeb Graph, for topologically simple domains. We then intro duce a range measure to give a scaling-invariant total order ing of the components or features that can be used for simplification. Computationally, we show how to compute Jacobi Structure, Reeb Skeleton, Range and Geometric Measures in the Joi nt Contour Net (an approximation of the Reeb Space) and that the se can be used for visualisation similar to the contour tree or R eeb Graph. keyword Simplification, Topology, Multi-Field, Reeb Space, Joint Contour Net, Multi-Dimensional Reeb Graph, Reeb Skel eton
Scalar topology in the form of Morse theory has provided computational tools that analyze and visualize data from scientific and engineering tasks. Contracting isocontours to single points encapsulates variations in isocontour connectivity in the Reeb graph. For multivariate data, isocontours generalize to fibers-inverse images of points in the range, and this area is therefore known as fiber topology. However, fiber topology is less fully developed than Morse theory, and current efforts rely on manual visualizations. This paper presents how to accelerate and semi-automate this task through an interface for visualizing fiber singularities of multivariate functions R3→R2. This interface exploits existing conventions of fiber topology, but also introduces a 3D view based on the extension of Reeb graphs to Reeb spaces. Using the Joint Contour Net, a quantized approximation of the Reeb space, this accelerates topological visualization and permits online perturbation to reduce or remove degeneracies in functions under study. Validation of the interface is performed by assessing whether the interface supports the mathematical workflow both of experts and of less experienced mathematicians.
Topological simplification of scalar and vector fields is well-established as an effective method for analysing and visualising complex data sets. For multivariate (alternatively, multi-field) data, topological analysis requires simultaneous advances both mathematically and computationally. We propose a robust multivariate topology simplification method based on “lip”-pruning from the Reeb space. Mathematically, we show that the projection of the Jacobi set of multivariate data into the Reeb space produces a Jacobi structure that separates the Reeb space into simple components. We also show that the dual graph of these components gives rise to a Reeb skeleton that has properties similar to the scalar contour tree and Reeb graph, for topologically simple domains. We then introduce a range measure to give a scaling-invariant total ordering of the components or features that can be used for simplification. Computationally, we show how to compute Jacobi structure, Reeb skeleton, range and geometric measures in the Joint Contour Net (an approximation of the Reeb space) and that these can be used for visualisation similar to the contour tree or Reeb graph.
Parallel implementation of topological algorithms is highly desirable, but the challenges, from reconstructing algorithms around independent threads through to runtime load balancing, have proven to be formidable. This problem, made all the more acute by the diversity of hardware platforms, has led to new kinds of implementation platform for computational science, with sophisticated runtime systems managing and coordinating large threadcounts to keep processing elements heavily utilized. While simpler and more portable than direct management of threads, these approaches still entangle program logic with resource management. Similar kinds of highly parallel runtime system have also been developed for functional languages. Here, however, language support for higher-order functions allows a cleaner separation between the algorithm and `skeletons' that express generic patterns of parallel computation. We report results on using this technique to develop a distributed version of the Joint Contour Net, a generalization of the Contour Tree to multifields. We present performance comparisons against a recent Haskell implementation using shared-memory parallelism, and initial work on a skeleton for distributed memory implementation that utilizes an innovative strategy to reduce inter-process communication overheads.
Contour Trees and Reeb Graphs are firmly embedded in scientific visualization for analysing univariate (scalar) fields. We generalize this analysis to multivariate fields with a data structure called the Joint Contour Net that quantizes the variation of multiple variables simultaneously. We report the first algorithm for constructing the Joint Contour Net, and demonstrate some of the properties that make it practically useful for visualisation, including accelerating computation by exploiting a relationship with rasterisation in the range of the function.
Computational topology is of interest in visualization because it summarizes useful global properties of a dataset. The greatest need for such abstractions is in massive data, and to date most implementations have opted for low-level languages to obtain space and time-efficient implementations. Such code is complex, and is becoming even more so with the need to operate efficiently on a range of parallel hardware. Motivated by rapid advances in functional programming and compiler technology, this chapter investigates whether a shift in programming paradigm could reduce the complexity of the task. Focusing on contour tree generation as a case study, the chapter makes three contributions. First, it sets out the development of a concise functional implementation of the algorithm. Second, it shows that the sequential functional code can be tuned to match the performance of an imperative implementation, albeit at some cost in code clarity. Third, it outlines new possiblilities for parallelisation using functional tools, and notes similarities between functional abstractions and emerging ideas in extreme-scale visualization.
This is a survey article on recent developments in visualization of large data, especially that of multivariate volume data. We present two essential ingredients. The first one is the mathematical background, especially the singularity theory of differentiable mappings, which enables us to capture topological features of given multivariate data in a mathematically rigorous way. The second one is a new development in computer science, called the joint contour net, which can encode topological structures of a given set of multivariate data in an efficient and robust way. Some applications to real data analysis are also presented.
Codes for computational science and downstream analysis (visualization and/or statistical modelling) have historically been dominated by imperative thinking, but this situation is evolving, both through adoption of higher-level tools such as Matlab, and through some adoption of functional ideas in the next generation of toolkits being driven by the vision of extreme-scale computing. However, this is still a long way from seeing a functional language like Haskell used in a live application. This paper makes three contributions to functional programming in computational science. First, we describe how use of Haskell was interleaved in the development of the first practical approach to multifield topology, and its application to the analysis of data from nuclear simulations that has led to new insight into fission. Second, we report subsequent developments of the functional code (i) improving sequential performance to approach that of an imperative implementation, and (ii) the introduction of parallelism through four skeletons exhibiting good scaling and different time/space trade-offs. Finally we consider the broader question of how, where, and why functional programming may - or may not - find further use in computational science.
Topological simplification is effective for analysis and visualisation of scalar data. However, topological simplifi-cationofmultivariatedataislesswelldeveloped. Wedescribe multi-fieldtopology simplificationstrategybasedonthe Reeb Space. We generalise critical nodes in the Reeb Graph to the Jacobi Structure of the Reeb Space that di-vides itintoregions. Thedual graph for these regions, the ReebSkeleton, has properties similartothe Reebgraph,and can be simplified using importance measures based on generalising persistence to Measure Persistence. Categories and Subject Descriptors (according to ACM CCS) : I.3.6 [Computer Graphics]: Methodology andTechniques—Graphics data structures and data types1. ContextScientific data is complex in nature and difficult to vi-sualise. Topological tools have therefore become impor-tant in scientific visualisation, especially for scalar fields[CSvdP10,TP12]. Multivariate topology has been based onJacobi sets - a generalisation of critical points to multi-fields [EH04,BBD
Topology provides a rigorous foundation for identifying features and transitions within data. However, computing and presenting topological features in multi-dimensional range space is still a difficult problem. The Joint Contour Net therefore is proposed as a data structure which quantizes the variation of multiple variables and presents multiple-field topology. In this paper, we apply the Joint Contour Net to real-world applications in order to present, analyse and explore features related to phenomenon. We have proposed a framework based on Joint Contour Net for iterative data exploration and knowledge discovery. The data set we investigate is from a simulation of Isabel Hurricane. We are able to demonstrate that the multi-field topological features such as rainbands, air flow and hurricane eye, as well as their relationship, can be exploited from a global topological view.
Contour trees and Reeb graphs are firmly embedded in scientific visualization for analysing univariate (scalar) fields. We generalize this analysis to multivariate fields with a data structure called the Joint Contour Net that quantizes the variation of multiple variables simultaneously. We report the first algorithm for constructing the Joint Contour Net and demonstrate that Contour Trees for individual variables can be extracted from the Joint Contour Net.
Non-exhaustive local search methods are fundamental tools in applied branches of computing such as operations research, and in other applications of optimisation. These problems have proven stubbornly resistant to attempts to find generic meta-heuristic toolkits that are both expressive and computationally efficient for the large problem spaces involved. This paper complements recent work on functional abstractions for local search by examining three fundamental operations on the states that characterise allowable and/or intermediate solutions. We describe how three fundamental operations are related, and how these can be implemented effectively as part of a functional local search library.
Profiling real-world Haskell programs is hard, as compiler optimizations make it tricky to establish causality between the source code and program behavior. In this paper we attack the root issue by performing a causality analysis of functional programs under optimization. We apply our findings to build a novel profiling infrastructure on top of the Glasgow Haskell Compiler, allowing for performance analysis even of aggressively optimized programs.
Research by the Visualization & Virtual Reality Research Group (School of Computing, University of Leeds, UK) includes themes that focus on navigation, collaborative interaction, and gigapixel displays. The group also carries out research into visualization techniques and systems, including new systems technologies for visualization, and tools for investigating features within large datasets. This article summarizes that research and describes current projects that are taking place: Virtual trails to aid real-world navigation, Mobile geophysics, Communication breakdown in collaborative VR, Cancer diagnosis with a VR Microscope, Visual analytic interfaces for optimization, and Overlays for graph exploration.
Visual representations of runtime software structures such as heap memory graphs can aid in debugging and help to develop program understanding. However, such structures may contain thousands of objects and have no obvious spatial organisation. If the program contains flaws the appearance of objects may well differ from the user's expectations. Navigating these graphs can be challenging to the user as the space is abstract and potentially unfamiliar. To alleviate this problem we employ a systematic approach grounded in the principles of navigational landmarks. We identify subgraphs within the heap that correspond to significant design abstractions and apply various visualization techniques to highlight and organise these structures. The aim is to provide the user with recognisable features that are linked to more familiar representations of the software. We claim that the enhanced representation can support existing memory debugging tools by providing the user with a usable 'map' of an otherwise abstract data space. The results are demonstrated using data extracted from an instrumented version of the Visualization Tool Kit (VTK), a complex and widely-used architecture for data visualization.
An important issue in the design of visualization systems is to allow flexibility in providing a range of interfaces to a single body of algorithmic software. In this paper we describe how the ADVISE architecture provides exactly this flexibility. The architecture is cleanly separated into three layers: user interface, web service middleware and visualization components. This gives us the flexibility to provide a range of different delivery options, but all making use of the same basic set of visualization components. These delivery options comprise a range of user interfaces (visual pipeline editor, tailored application, web page), coupled with installation choice between a stand-alone desktop application, or a distributed client-server application.
Richard Butterworth合作论文数Bridgeman Art Library6