Hasso-Plattner-Institut
Prof. Dr. Jürgen Döllner
  
 

Software Analysis and Visualization

Automated software analysis and visualization is concerned with giving insight into complex, large-scale, existing software systems ("legacy systems") and their static structure, dynamic behavior, and evolution. We address this need in industry by developing methods and techniques that support and automate the analysis and visualization of software systems.

Various technologies have been developed by the computer graphics systems research group of the Hasso-Plattner-Institute. The technologies tackle core challenges in the development and maintenance of complex software systems and aim at creating transparency during development, reducing costs, and decreasing quality-related risks.

 

In-Browser Demo of Circular Bundleviews

 

Software Mining Technology

Software Mining aims at extracting, analyzing, and interpreting information extracted about complex IT systems and their implementations in order to provide explorative and analytical insights into structure, evolution, and dynamics of these systems.

Software Mining facilitates processes in software engineering, contributes to cope with the significant risks of developing new and maintaining existing IT systems. Research in that field develops essential tools, techniques, and methods to effectively manage the complexity of future IT-based systems in our society.

Software Quality Assessment and Monitoring Technology

Software Quality Assessment and Monitoring are specialized Software Mining Technologies being applied on quality-related information on complex software systems. Such information include quality-related code metrics, metrics about code modifications, i.e., about the system evolution, and on the code coverage of test suites executed at runtime. Quality Assessment is applied to obtain an initial view on the software system’s quality. Quality Monitoring serves as a “quality cockpit” that permits project managers to identify problematic development situations at an early stage.

Software Quality Assessment and Monitoring are essential technologies that help project managers to speed up software development and maintenance of complex software systems in the long run. It permits to effectively analyze which parts of the source code unnecessarily produces costs and increase risk due to low quality. Hence, the technologies permit project managers to focus resources and tackle the real quality problems, that is, those that are error-prone and slow down the development.

Software Architecture Recovery Technology

Software Architecture Recovery aims at revealing the architecture of long-living (legacy) software systems as it is implemented in the code. Hence, Software Architecture Recovery is a specialized variant of Software Mining Technology, where architecture-related information is extracted from the source code, from runtime events, or from the repository that keeps track of code changes. This implicit architectural information is visualized in a way such that both modular structures and dependency relations become visible.

The architecture as it is implemented in the code, typically, differs significantly from models contained in design time documents. However, developers need to understand the implemented architecture before they modify code. Otherwise they introduce design anomalies and couplings that make it difficult to maintain the system. Software Architecture Recovery shows the architecture as it is, and by this, it speeds up development and reduces the risk of introducing bugs due to misunderstood architectural guidelines.

Software Tracing Technology

Software Tracing is a technology to collect information about the behavior of a software system at execution time. Such information includes runtime data such as control flow information, e.g., function entry and exit events, or data on the state of the system, e.g., values being written into or being transferred between variables. Trace data is obtained by instrumenting the binary code of the software system. That is, the binary code is augmented with code that generates runtime events and serializes the data for further processing.

The tracing techniques having been developed by us use different instrumentation mechanisms that depend on the programming language and the runtime environment of the analyzed software system, e.g., native C/C++ on the Windows OS or Java-based components being executed within an application server.

Software tracing helps developers and maintainers to understand the runtime behavior of a software system, which would otherwise be difficult to be inspected. As an understanding of the runtime behavior is a prerequisite for a variety of software engineering tasks and software tracing can speed up the understanding process, the technology is helpful for software engineering tasks such as debugging, adapting existing features, or performance tuning. Software tracing is particularly helpful when long-living systems are concerned due to the typically existing lack of up-to-date documentation that developers could consult for speeding up the comprehension process.

C/C++ Software Tracing Technology

C/C++ software tracing enables developers and also end-users to create traces, i.e., time-ordered collections of runtime events, from a C/C++ software system running natively on the operation system (e.g., Windows). The technology performs a combination of compile-time and execution-time instrumentation to enable users to switch the runtime event collection mechanism on and off at any point in time during execution. During the switching step, which takes less than some seconds, binary code of the running software system is augmented with additional code that creates and collects runtime events. While the mechanism is switched off, no performance overhead is experienced.

This technology is useful in kinds of situations: when the software system is executed in a test environment by developers and when it is executed on the customer’s site in the production environment.

During development, the technology enables developers to observe what is happening within the “black box” while the system executes. As the technology collects information about the complete execution history, it is the basis for powerful tools as complements to usual “point-in-time” debuggers.

In the production environment the technology can be helpful to reduce the typically cost-intensive procedure of finding out why a system fails in the production environment on the customer’s site even if the system behaves correctly in the test environment on the developers’ site. With the technology, customers of the software create a trace when the system does not behave as expected. This trace is sent to the developers, which enables them to quickly find the origin for the misbehavior without extensive “problem communication” between customer and development or even having to travel to the customer’s site and debug the problem there.

Java Software Tracing Technology

Similar to C/C++ software tracing, Java software tracing enables developers and also end-users to capture the runtime behavior of a software system on code granularity. To inject event generating code into the Java system, aspect-orientation technology is exploited. When classes are loaded into the virtual machine, the classes’ byte code is augmented with event generating code. The Java software tracing technology can be used for analyzing desktop applications and applications running within a web/application server.

Web/application servers provide a runtime environment for Java components. For these systems, often the requirement exists that they should be kept operational without downtimes. Hence, when an incident occurs, such as the performance of the system goes down or a specific function of the system works not as expected, it is not possible to restart the system in “debug mode” and perform extensive runtime analysis of the system in the production environment. Instead, the developers need to reproduce the failure in the test environment --- typically without sufficient information on the internal processes of the system in the production environment, which results in large costs for such incidents.

With the Java software tracing technology, however, a trace is created that describes the internal system behavior on such a fine-granular way that developers can efficiently identify the reason for the unexpected behavior.

Multithreaded System Analysis Technology

This technology collects information about the runtime behavior of multithreaded software systems and visualizes that data to support developers in solving multithreading-related software engineering problems, e.g., related to debugging, performance analysis, or system understanding in general. For each thread, a trace is created that permits developers to precisely understand (a) what each thread executes and (b) how the threads interact.

Multithreaded software systems pose difficult problems to developers that do not exist in singlethreaded systems. Examples of these problems include race conditions and deadlocks. A key to solve multithreading-related programming problems is knowledge about the exact timing behavior of threads. State-of-the-art tools, such as debuggers, provide only little support in understanding the timing behavior because --- due to their heavy-weight approach --- they typically affect the timing too much. A common solution for developers to gain insight into system behavior is therefore to manually introduce console output code that informs the developer about the threads’ execution states. With this approach, however, developers obtain only punctual information about system behavior.

The multithreading systems analysis technology integrates runtime data collection in a light-weight way without manual intervention and, by this, provides automatically created views that show in high detail how threads execute and interact.

Distributed Systems Mining Technology

This technology enables the analysis and visualization of distributed software systems. It traces the internal behavior of the system's components and the messages exchanged among them. Automated trace analysis improves heuristic layout generation and provides additional information for the visualization.

Developers generally cannot cope with the inherent complexity of large distributed software systems. This technology aims to improve comprehension of the structure and behavior of these systems.

Object-Oriented Traces Mining Technology

OO-Trace Mining is a technology that analyzes the behavior in object-oriented system that arise from communication between object. OO Trace Mining collects data about object creation and destruction and monitors the inter- and intra-object communication. This object-related data is analyzed, mined, and visualized afterwards to support developers in understanding the runtime behavior of the OO system.

Before a developer of an object-oriented software system can change any code line, e.g., when fixing a bug or when implementing a system feature, the developer needs to understand deeply the objects’ lifetimes and their communication patterns occurring at runtime. Furthermore, the developer needs to understand the state transitions of an object during its lifetime. OO Trace Mining helps developers to speed up gathering an understanding of the objects’ runtime characteristics. It reveals outlier behavior of particular objects and automatically creates models describing the objects’ state changes.

Publications

  • EvoCells – A Treemap La... - Download
    EvoCells – A Treemap Layout Algorithm for Evolving Tree Data. Scheibel, Willy; Weyand, Christopher; Döllner, Jürgen (2018).
     
  • Hybrid-Treemap Layouting - Download
    Hybrid-Treemap Layouting. Hahn, Sebastian; Döllner, Jürgen (2017).
     
  • Improving Layout Quality ... - Download
    Improving Layout Quality by Mixing Treemap-Layouts Based on Data-Change Characteristics. Bethge, Joseph; Hahn, Sebastian; Döllner, Jürgen M. Hullin, Klein, R., Schultz, T., Yao, A. (reds.) (2017). (Vol. 2017)
     
  • Relative Direction Change... - Download
    Relative Direction Change: A Topology-based Metric for Layout Stability in Treemaps. Hahn, Sebastian; Bethge, Joseph; Döllner, Jürgen (2017).
     
  • Attributed Vertex Clouds - Download
    Attributed Vertex Clouds. Scheibel, Willy; Buschmann, Stefan; Trapp, Matthias; Döllner, Jürgen in GPU Zen, W. Engel, Oat, C. (reds.) (2017). (8 ed)
     
  • Reducing Visual Complexit... - Download
    Reducing Visual Complexity in Software Maps using Importance-based Aggregation of Nodes. Limberger, Daniel; Scheibel, Willy; Hahn, Sebastian; Döllner, Jürgen in Proceedings of the 8th International Conference on Information Visualization Theory and Applications (2017).
     
  • Dynamic 2.5D Treemaps usi... - Download
    Dynamic 2.5D Treemaps using Declarative 3D on the Web. Limberger, Daniel; Scheibel, Willy; Lemme, Stefan; Jürgen, Döllner (2016). 33--36.
     
  • Evaluation of Sketchiness... - Download
    Evaluation of Sketchiness as a Visual Variable for 2.5D Treemaps. Limberger, Daniel; Fiedler, Carolin; Hahn, Sebastian; Trapp, Matthias; Döllner, Jürgen (2016).
     
  • Design and Implementation... - Download
    Design and Implementation of Non-Photorealistic Rendering Techniques for 3D Geospatial Data. Technical Report (PhD dissertation), Semmo, Amir (2016).
     
  • Interactive Rendering and... - Download
    Interactive Rendering and Stylization of Transportation Networks Using Distance Fields. Trapp, Matthias; Semmo, Amir; Döllner, Jürgen (2015). 207-219.
     
  • ThreadCity: Combined Visu... - Download
    ThreadCity: Combined Visualization of Structure and Activity for the Exploration of Multi-threaded Software Systems. Hahn, Sebastian; Trapp, Matthias; Wuttke, Nikolai; Döllner, Jürgen (2015).
     
  • Animated visualization of... - Download
    Animated visualization of spatial-temporal trajectory data for air-traffic analysis. Buschmann, Stefan; Trapp, Matthias; Döllner, Jürgen in The Visual Computer (2015). 32(3) 371-381.
     
  • Natural Phenomena as Meta... - Download
    Natural Phenomena as Metaphors for Visualization of Trend Data in Interactive Software Maps. Würfel, Hannes; Trapp, Matthias; Limberger, Daniel; Döllner, Jürgen (2015).
     
  • Visualization of Varying ... - Download
    Visualization of Varying Hierarchies by Stable Layout of Voronoi Treemaps. Hahn, Sebastian; Trümper, Jonas; Moritz, Dominik; Döllner, Jürgen (2014). 50-58.
     
  • Interactive Software Maps... - Download
    Interactive Software Maps for Web-Based Source Code Analysis. Limberger, Daniel; Wasty, Benjamin; Trümper, Jonas; Döllner, Jürgen (2013). 8.
     
  • Multi-Perspective Detail+... - Download
    Multi-Perspective Detail+Overview Visualization for 3D Building Exploration. Pasewaldt, Sebastian; Trapp, Matthias; Döllner, Jürgen S. Czanner, Tang, W. (reds.) (2013). 57--64.
     
  • SyncTrace: Visual Thread-... - Download
    SyncTrace: Visual Thread-Interplay Analysis. Karran, Benjamin; Trümper, Jonas; Döllner, Jürgen (2013). 10.
     
  • Interactive Rendering of ... - Download
    Interactive Rendering of Complex 3D-Treemaps. Trapp, Matthias; Hahn, Sebastian; Döllner, Jürgen S. Coquillart, Andujar, C., Laramee, R. S., Kerren, A., Braz, J. (reds.) (2013). 165-175.
     
  • Multiscale Visual Compari... - Download
    Multiscale Visual Comparison of Execution Traces. Trümper, Jonas; Döllner, Jürgen; Telea, Alexandru (2013). 53-62.
     
  • ViewFusion: Correlating S... - Download
    ViewFusion: Correlating Structure and Activity Views for Execution Traces. Trümper, Jonas; Telea, Alexandru; Döllner, Jürgen (2012). 45-52.
     
  • A Service-Based Concept f... - Download
    A Service-Based Concept for Camera Control in 3D Geovirtual Environments. Klimke, Jan; Hagedorn, Benjamin; Döllner, Jürgen (2012).
     
  • Immersive Visualization o... - Download
    Immersive Visualization of Virtual 3D City Models and its Applications in E-Planning. Engel, Juri; Döllner, Jürgen in International Journal of E-Planning Research (IJEPR) (2012). 1(4) 17-34.
     
  • An Immersive Visualizatio... - Download
    An Immersive Visualization System for Virtual 3D City Models. Engel, Juri; Pasewaldt, Sebastian; Trapp, Matthias; Döllner, Jürgen (2012).
     
  • A Service-Oriented Platfo... - Download
    A Service-Oriented Platform for Interactive 3D Web Mapping. Klimke, J.; Hagedorn, B.; Doellner, J. M. Jobst (red.) (2012). 127--139.
     
  • Extending Recommendation ... - Download
    Extending Recommendation Systems with Software Maps. Trümper, Jonas; Döllner, Jürgen (2012). 92-96.
     
  • Maintenance of Embedded S... - Download
    Maintenance of Embedded Systems: Supporting Program Comprehension Using Dynamic Analysis. Trümper, Jonas; Voigt, Stefan; Döllner, Jürgen (2012). 58-64.
     
  • Immersive Visualisierung ... - Download
    Immersive Visualisierung von virtuellen 3D-Stadtmodellen und ihr Einsatz in der Stadtplanung. Engel, Juri; Döllner, Jürgen (2012). (Vol. 21) 165-172.
     
  • A Visual Analysis Approac... - Download
    A Visual Analysis Approach to Support Perfective Software Maintenance. Trümper, Jonas; Beck, Martin; Döllner, Jürgen (2012). 308-315.
     
  • A Visual Analysis and Des... - Download
    A Visual Analysis and Design Tool for Planning Software Reengineerings. Beck, Martin; Trümper, Jonas; Döllner, Jürgen (2011). 54-61.
     
  • Monitoring Code Quality a... - Download
    Monitoring Code Quality and Development Activity by Software Maps. Bohnet, Johannes; Döllner, Jürgen (2011). 9-16.
     
  • Visualization of Executio... - Download
    Visualization of Execution Traces and its Application to Software Maintenance. Technical Report (PhD dissertation), Bohnet, Johannes (2011).
     
  • Communication of Digital ... - Download
    Communication of Digital Cultural Heritage in Public Spaces by the Example of Roman Cologne. Trapp, Matthias; Semmo, Amir; Pokorski, Rafael; Herrmann, Claus-Daniel; Döllner, Jürgen; Eichhorn, Michael; Heinzelmann, Michael in Lecture Notes in Computer Science (LNCS), M. Ioannides (red.) (2010). 262-276.
     
  • Understanding Complex Mul... - Download
    Understanding Complex Multithreaded Software Systems by Using Trace Visualization. Trümper, Jonas; Bohnet, Johannes; Döllner, Jürgen (2010). 133-142.
     
  • Towards Automated Analysi... - Download
    Towards Automated Analysis and Visualization of Distributed Software Systems. Beck, Martin; Döllner, Jürgen (2010). 213-214.
     
  • Visualization of Multithr... - Download
    Visualization of Multithreaded Behavior to Facilitate Maintenance of Complex Software Systems. Trümper, Jonas; Bohnet, Johannes; Voigt, Stefan; Döllner, Jürgen (2010). 325-330.
     
  • Towards Efficient Camera ... - Download
    Towards Efficient Camera Interaction in Service-based 3D Geovirtual Environments. Klimke, J. (2010). 211--219.
     
  • Enhancing Structural View... - Download
    Enhancing Structural Views of Software Systems by Dynamic Information. Voigt, Stefan; Bohnet, Johannes; Döllner, Jürgen (2009). 47 - 50.
     
  • Visualizing Massively Pru... - Download
    Visualizing Massively Pruned Execution Traces to Facilitate Trace Exploration. Bohnet, Johannes; Koeleman, Martin; Döllner, Jürgen (2009). 57-64.
     
  • Object Aware Execution Tr... - Download
    Object Aware Execution Trace Exploration. Voigt, Stefan; Bohnet, Johannes; Döllner, Jürgen (2009). 201 - 210.
     
  • Projecting Code Changes o... - Download
    Projecting Code Changes onto Execution Traces to Support Localization of Recently Introduced Bugs. Bohnet, Johannes; Voigt, Stefan; Döllner, Jürgen (2009). 438--442.
     
  • Techniques for Generalizi... - Download
    Techniques for Generalizing Building Geometry of Complex Virtual 3D City Models. Glander, Tassilo; Döllner, Jürgen in Lecture Notes in Geoinformation and Cartography, P. van Oosterom, Zlatanova, S., Penninga, F., Fendel, E. M. (reds.) (2008). 381--400.
     
  • Analyzing Dynamic Call Gr... - Download
    Analyzing Dynamic Call Graphs Enhanced with Program State Information for Feature Location and Understanding. Bohnet, Johannes; Döllner, Jürgen (2008). 915--916.
     
  • Locating and Understandin... - Download
    Locating and Understanding Features of Complex Software Systems by Synchronizing Time-, Collaboration- and Code-focused Views on Execution Traces. Bohnet, Johannes; Voigt, Stefan; Döllner, Jürgen (2008). 268--271.
     
  • Interactive Multi-Perspec... - Download
    Interactive Multi-Perspective Views of Virtual 3D Landscape and City Models. Lorenz, Haik; Trapp, Matthias; Jobst, Markus; Döllner, Jürgen in Lecture Notes in Geoinformation and Cartography, L. Bernard, Friis-Christensen, A., Pundt, H. (reds.) (2008). 301--321.
     
  • A Concept of Effective La... - Download
    A Concept of Effective Landmark Depiction in Geovirtual 3D Environments by View-Dependent Deformation. Glander, Tassilo; Trapp, Matthias; Döllner, Jürgen (2007).
     
  • CGA Call Graph Analyzer - Locating and Understanding Functionality within the Gnu Compiler Collection's Million Lines of Code. Bohnet, Johannes; Döllner, Jürgen (2007). 161--162.
     
  • Visually Exploring Control Flow Graphs to Support Legacy Software Migration. Bohnet, Johannes; Döllner, Jürgen in GI-Edition Lecture Notes in Informatics (2007). 245--246.
     
  • Facilitating Exploration of Unfamiliar Source Code by Providing 2-1/2-D Visualizations of Dynamic Call Graphs. Bohnet, Johannes; Döllner, Jürgen (2007). 63--66.
     
  • Planning an Experiment on User Performance for Exploration of Diagrams Displayed in 2 1/2 Dimensions. Bohnet, Johannes; Döllner, Jürgen in GI-Edition Lecture Notes in Informatics (2007). 223--230.
     
  • Depth Cue of Occlusion In... - Download
    Depth Cue of Occlusion Information as Criterion for the Quality of Annotation Placement in Perspective Views. Maass, Stefan; Jobst, Markus; Döllner, Jürgen in Lecture Notes in Geoinformation and Cartography, S. I. Fabrikant, Wachowicz, M. (reds.) (2007). 473--486.
     
  • Proceedings of the Fall 2... - Download
    Proceedings of the Fall 2006 Workshop of the HPI Research School on Service-Oriented Systems Engineering Hagedorn, Benjamin; Schöbel, Michael; Uflacker, Matthias; Copaciu, Flavius; Milanovic, Nikola in Technische Berichte des Hasso-Plattner-Instituts für Softwaresystemtechnik an der Universität Potsdam (2007). (Vol. 18) Universitätsverlag Potsdam.
     
  • Cell-Based Generalization... - Download
    Cell-Based Generalization of 3D Building Groups with Outlier Management. Glander, Tassilo; Döllner, Jürgen (2007).
     
  • Visual Exploration of Function Call Graphs for Feature Location in Complex Software Systems. Bohnet, Johannes; Döllner, Jürgen (2006). 95--104.
     
  • Real-Time Visualization o... - Download
    Real-Time Visualization of 3D City Models. Technical Report (PhD dissertation), Buchholz,; Henrik, (2006).
     
  • Analyzing Feature Implementation by Visual Exploration of Architecturally-Embedded Call-Graphs. Bohnet, Johannes; Döllner, Jürgen (2006). 41--48.
     
  • Virtual 3D City Models as... - Download
    Virtual 3D City Models as Foundation of Complex Urban Information Spaces. Döllner, Jürgen; Baumann, Konstantin; Buchholz, Henrik M. Schrenk (red.) (2006). 107--112.
     
  • Real-Time Non-Photorealis... - Download
    Real-Time Non-Photorealistic Rendering Techniques for Illustrating 3D Scenes and their Dynamics. Technical Report (PhD dissertation), Nienhaus,; Marc, (2006).
     
  • Grundlagen der Softwarevi... - Download
    Grundlagen der Softwarevisualisierung. Bohnet, Johannes; Döllner, Jürgen in Konzepte der Softwarevisualisierung für komplexe, objektorientierte Softwaresysteme, J. Bohnet, Döllner, J. (reds.) (2005). 1--7.
     
  • CodeCrawler in der Anwend... - Download
    CodeCrawler in der Anwendung. Hagedorn, Benjamin in Konzepte der Softwarevisualisierung für komplexe, objektorientierte Softwaresysteme, J. Bohnet, Döllner, J. (reds.) (2005). 39--46.
     
  • Konzepte der Softwarevisu... - Download
    Konzepte der Softwarevisualisierung für komplexe, objektorientierte Softwaresysteme. Technical Report (6), Bohnet, Johannes; Brinkmann, Daniel; Döllner, Jürgen; Gierak, Alexander; Hagedorn, Benjamin; Lazic, Nebojsa; Schöbel, Michael (J. Bohnet; Döllner, J., reds.) (2005).
     
  • Landschafts- und Stadtmet... - Download
    Landschafts- und Stadtmetaphern zur Softwarevisualisierung. Hagedorn, Benjamin in Konzepte der Softwarevisualisierung für komplexe, objektorientierte Softwaresysteme, J. Bohnet, Döllner, J. (reds.) (2005). 59--72.
     
  • Smart and Physically-Base... - Download
    Smart and Physically-Based Navigation in 3D Geovirtual Environments. Buchholz, Henrik; Bohnet, Johannes; Döllner, Jürgen (2005). 629--635.
     
  • Illustrative Visualizatio... - Download
    Illustrative Visualization of 3D City Models. Döllner, Jürgen; Buchholz, Henrik; Nienhaus, Marc; Kirsch, Florian in Proceedings of the SPIE, R. F. Erbacher, Roberts, J. Cand G., Börner, K. (reds.) (2005). (Vol. 5669) 42--51.
     
  • Visual Data Mining in Lar... - Download
    Visual Data Mining in Large-Scale 3D City Models. Buchholz, Henrik; Döllner, Jürgen (2005).
     
  • An Approach towards Seman... - Download
    An Approach towards Semantics-Based Navigation in 3D City Models on Mobile Devices. Döllner, Jürgen; Hagedorn, Benjamin; Schmidt, Steffen in Schriftenreihe der Studienrichtung Vermessungswesen und Geoinformation an der TU Wien, G. Gartner (red.) (2005). 171--176.
     
  • Constraints as Means of C... - Download
    Constraints as Means of Controlling Usage of Geovirtual Environments. Döllner,; Jürgen, in Journal of Cartography and Geographic Information Science (2005). 32(2) 69--80.
     
  • Real-Time Non-Photorealis... - Download
    Real-Time Non-Photorealistic Rendering of 3D City Models. Buchholz, Henrik; Döllner, Jürgen; Nienhaus, Marc; Kirsch, Florian G. Gröger, Kolbe, T. H. (reds.) (2005).
     
  • Smart Navigation Strategi... - Download
    Smart Navigation Strategies for Virtual Landscapes. Buchholz, Henrik; Bohnet, Johannes; Döllner, Jürgen E. Buhmann, Paar, P., Bishop, I. D., Lange, E. (reds.) (2005). 124--131.
     
  • Real-Time Virtual Landsca... - Download
    Real-Time Virtual Landscapes in Landscape and Urban Planning. Döllner, Jürgen; Baumann, Konstantin; Buchholz, Henrik; Paar, Philip (2005).
     
  • A Generic Rendering Syste... - Download
    A Generic Rendering System. Döllner, Jürgen; Hinrichs, Klaus in IEEE Transactions on Visualization and Computer Graphics (2002). 8(2) 99--118.
     
  • Software-Architektur comp... - Download
    Software-Architektur computergrafischer Systeme Döllner, Jürgen (2001). Westfälische Wilhelms-Universität Münster.