11 research outputs found

    Visualisierung von Klassenbestandteilen am Beispiel der Stadtmetapher

    Get PDF
    Die Stadtmetapher des Softwarevisualisierungsgenerators der Forschungsgruppe Softwarevisualisierung in 3D und virtueller Realität soll um zwei Varianten der Darstellung von Klassenattributen und -methoden erweitert werden. Nach Evaluation bereits existierender Stadtmetaphern mit dem Fokus auf die Anwendbarkeit verschiedener visualisierter Aspekte auf die Stadtmetapher des Softwarevisualisierungsgenerators folgt eine Definition der zu implementierenden Varianten zur Darstellung der Klassenbestandteile. Als Basis einer der umzusetzenden Varianten dient dabei der Ansatz von CodeCity, der die Zerlegung des Gebäudes in sogenannte Bricks vorsieht. Eine zweite Variante der Visualisierung soll das Gebäude ebenfalls in Segmente gliedern, jedoch konsequent aufeinander stapeln. Zusätzlich werden Zugriffsmodifikatoren beziehungsweise Methodentypen farblich verschieden gekennzeichnet sowie eine Sortierung der Elemente nach mehreren Kriterien vorgenommen.:Gliederung (I) Abbildungsverzeichnis (III) Tabellenverzeichnis (V) Verzeichnis der Listings (VI) Abkürzungsverzeichnis (VII) 1 Einleitung (1) 1.1 Motivation und Problemstellung (1) 1.2 Zielstellung der Arbeit (1) 1.3 Methodisches Vorgehen (2) 1.4 Aufbau der Arbeit (2) 2 Darstellungen von Klassenbestandteilen (3) 2.1 Softwarevisualisierung (3) 2.2 Die Stadtmetapher (5) 2.3 Methoden als Gebäude (6) 2.3.1 ImSoVision (6) 2.3.2 Vizz3d - Unified City (7) 2.3.3 Software World (9) 2.4 Klassen als Gebäude (15) 2.4.1 EvoSpaces / Software City (15) 2.4.2 SArF Map (17) 2.4.3 Verso (18) 2.5 Gebäude als ambivalente Glyphe (20) 2.5.1 CodeMetropolis (20) 2.5.2 CodeCity (22) 3 Erweiterung des Softwarevisualisierungsgenerators (24) 3.1 Der Softwarevisualisierungsgenerator (24) 3.2 Anforderungsanalyse der Teilelemente (25) 3.3 Erweiterung des Metamodells (26) 3.4 Modell-Transformationen und Modifikationen (28) 3.4.1 Modell-zu-Modell-Transformation der Backsteine (28) 3.4.2 Modell-zu-Modell-Transformation der Paneele (30) 3.4.3 Modellmodifikationen (31) 3.4.4 Modell-zu Text-Transformation (36) 3.5 Evaluation der Varianten (38) 4 Zusammenfassung und Ausblick (42) Anhang – Erläuterungen zur Konfiguration und Ausführung (VIII) Literatur- und Quellenverzeichnis (XI) Selbstständigkeitserklärung (XV

    Visualization of the Static aspects of Software: a survey

    Get PDF
    International audienceSoftware is usually complex and always intangible. In practice, the development and maintenance processes are time-consuming activities mainly because software complexity is difficult to manage. Graphical visualization of software has the potential to result in a better and faster understanding of its design and functionality, saving time and providing valuable information to improve its quality. However, visualizing software is not an easy task because of the huge amount of information comprised in the software. Furthermore, the information content increases significantly once the time dimension to visualize the evolution of the software is taken into account. Human perception of information and cognitive factors must thus be taken into account to improve the understandability of the visualization. In this paper, we survey visualization techniques, both 2D- and 3D-based, representing the static aspects of the software and its evolution. We categorize these techniques according to the issues they focus on, in order to help compare them and identify the most relevant techniques and tools for a given problem

    Software Visualization in 3D: Implementation, Evaluation, and Applicability

    Get PDF
    The focus of this thesis is on the implementation, the evaluation and the useful application of the third dimension in software visualization. Software engineering is characterized by a complex interplay of different stakeholders that produce and use several artifacts. Software visualization is used as one mean to address this increasing complexity. It provides role- and task-specific views of artifacts that contain information about structure, behavior, and evolution of a software system in its entirety. The main potential of the third dimension is the possibility to provide multiple views in one software visualization for all three aspects. However, empirical findings concerning the role of the third dimension in software visualization are rare. Furthermore, there are only few 3D software visualizations that provide multiple views of a software system including all three aspects. Finally, the current tool support lacks of generating easy integrateable, scalable, and platform independent 2D, 2.5D, and 3D software visualizations automatically. Hence, the objective is to develop a software visualization that represents all important structural entities and relations of a software system, that can display behavioral and evolutionary aspects of a software system as well, and that can be generated automatically. In order to achieve this objective the following research methods are applied. A literature study is conducted, a software visualization generator is conceptualized and prototypically implemented, a structured approach to plan and design controlled experiments in software visualization is developed, and a controlled experiment is designed and performed to investigate the role of the third dimension in software visualization. The main contributions are an overview of the state-of-the-art in 3D software visualization, a structured approach including a theoretical model to control influence factors during controlled experiments in software visualization, an Eclipse-based generator for producing automatically role- and task-specific 2D, 2.5D, and 3D software visualizations, the controlled experiment investigating the role of the third dimension in software visualization, and the recursive disk metaphor combining the findings with focus on the structure of software including useful applications of the third dimension regarding behavior and evolution

    A unified framework for the comprehension of software's time dimension

    Get PDF
    Les logiciels sont de plus en plus complexes et leur développement est souvent fait par des équipes dispersées et changeantes. Par ailleurs, de nos jours, la majorité des logiciels sont recyclés au lieu d’être développés à partir de zéro. La tâche de compréhension, inhérente aux tâches de maintenance, consiste à analyser plusieurs dimensions du logiciel en parallèle. La dimension temps intervient à deux niveaux dans le logiciel : il change durant son évolution et durant son exécution. Ces changements prennent un sens particulier quand ils sont analysés avec d’autres dimensions du logiciel. L’analyse de données multidimensionnelles est un problème difficile à résoudre. Cependant, certaines méthodes permettent de contourner cette difficulté. Ainsi, les approches semi-automatiques, comme la visualisation du logiciel, permettent à l’usager d’intervenir durant l’analyse pour explorer et guider la recherche d’informations. Dans une première étape de la thèse, nous appliquons des techniques de visualisation pour mieux comprendre la dynamique des logiciels pendant l’évolution et l’exécution. Les changements dans le temps sont représentés par des heat maps. Ainsi, nous utilisons la même représentation graphique pour visualiser les changements pendant l’évolution et ceux pendant l’exécution. Une autre catégorie d’approches, qui permettent de comprendre certains aspects dynamiques du logiciel, concerne l’utilisation d’heuristiques. Dans une seconde étape de la thèse, nous nous intéressons à l’identification des phases pendant l’évolution ou pendant l’exécution en utilisant la même approche. Dans ce contexte, la prémisse est qu’il existe une cohérence inhérente dans les évènements, qui permet d’isoler des sous-ensembles comme des phases. Cette hypothèse de cohérence est ensuite définie spécifiquement pour les évènements de changements de code (évolution) ou de changements d’état (exécution). L’objectif de la thèse est d’étudier l’unification de ces deux dimensions du temps que sont l’évolution et l’exécution. Ceci s’inscrit dans notre volonté de rapprocher les deux domaines de recherche qui s’intéressent à une même catégorie de problèmes, mais selon deux perspectives différentes.Software systems are getting more and more complex and are developed by teams that are constantly changing and not necessarily working in the same location. Moreover, most software systems, nowadays, are recycled rather than being developed from scratch. A comprehension task is crucial when performing maintenance tasks; it consists of analyzing multiple software dimensions concurrently. Time is one of these dimensions, as software changes its state with time in two manners: during their execution and during their evolution. These changes make sense only when analyzed within the context of other software dimensions, such as structure or bug information. Multidimensional analysis is a difficult problem to solve. However, there are certain methods that bypass this difficulty, such as semi-automatic approaches. Software visualization is one of them, as it allows being part of the analysis by exploring and guiding information search. The first stage of the thesis consists of applying visualization techniques to better understand software dynamicity during execution and evolution. Changes over time are represented by heat maps. Hence, we utilize the same graphical representation to visualize both change types over time. Other approaches that permit the analysis of a program’s dynamic behavior over time involve the use of heuristics. In the thesis’ second stage, we are interested in the identification of the programs’ execution phases and evolution patterns using the same approach, i.e. search-based optimisation. In this context, the premise is the existence of internal cohesion between change events that allow the clustering in phases. This hypothesis of cohesion is defined specifically for change events in the code during software evolution and state changes during program execution. This thesis’ main objective is to study the unification of these two time dimensions, evolution and execution, in an attempt to bring together two research domains that work on the same set of problems, but from two different perspectives

    CoMoVA - A comprehension measurement framework for visualization systems

    Get PDF
    Despite the burgeoning interest shown in visualizations by many disciplines, there yet remains the unresolved question concerning comprehension. Is the concept that is being communicated through the visual easily grasped and clearly interpreted? Visual comprehension is that characteristic of any visualization system, which deals with how efficiently and effectively users are able to grasp the underlying concepts through suitable interactions provided for exploring the visually represented information. Comprehension has been considered a very complex subject, which is intangible and subjective in nature. Assessment of comprehension can help to determine the true usefulness of visualization systems to the intended users. A principal contribution of this research is the formulation of an empirical evaluation framework for systematically assessing comprehension support provided by a visualization system to its intended users. To assess comprehension i.e. to measure this seemingly immeasurable factor of visualization systems, we propose a set of criteria based on a detailed analysis of information flow from the raw data to the cognition of information in human mind. Our comprehension criteria are adapted from the pioneering work of two eminent researchers - Donald A. Norman and Aaron Marcus, who have investigated the issues of human perception and cognition, and visual effectiveness respectively. The proposed criteria have been refined with the help of opinions from experts. To gauge and verify the efficacy of these criteria in a practical sense, they were then applied to a bioinformatics visualization study tool and an immersive art visualization environment. Given the vast variety of users and their visualization goals, it may be noted that it is difficult for one to decide on the effectiveness of different visualization tools/techniques in a context independent fashion. We therefore propose an innovative way of evaluating a visualization technique by encapsulating it in a visualization pattern where it is seen as a solution to the visualization problem in a specific context. These visualization patterns guide the tool users/evaluators to compare, understand and select appropriate visualization tools/techniques. Lastly, we propose a novel framework named as CoMoVA (Comprehension Model for Visualization Assessment) that incorporates 'context of use', visualization patterns, visual design principles and important cognitive principles into a coherent whole that can be used to effectively tell us in a more quantifiable manner the benefits of visual representations and interactions provided by a system to the intended audience. Our approach of evaluation of visualization systems is similar to other questionnaire-based approaches such as SUMI (Software Usability Measurement Inventory), where all the questions deal with the measurement of a common trait. We apply this framework to two static software visualization tools in the software visualization domain to demonstrate the practical benefits of using such a framework

    Visualisations novatrices pour la compréhension de réseaux et de logiciels complexes

    Get PDF
    La visualisation d’information a le potentiel de pouvoir exploiter nos capacités visuelles, acquises au fil de centaines de millions d’années d’évolution, afin de faciliter la découverte de secrets enfouis dans les données, de nouveaux patrons ou de relations insoupçonnées. Il existe toutefois une grande variété de données, plus ou moins structurées, que l’on cherche à comprendre sous diverses perspectives. En particulier, les données sous forme de réseaux servent à modéliser des phénomènes importants, tels que les communautés sociales ou les transactions financières, mais peuvent être difficiles à représenter si les réseaux sont grands, hiérarchiques, et/ou dynamiques. Cette thèse se concentre sur la conception de nouvelles techniques de visualisation de réseaux, dans le but de faciliter la compréhension de données. Les techniques de visualisation présentes dans la littérature sont utiles dans certains contextes et comportent chacune des limitations. Néanmoins, il existe encore des possibilités inexplorées pour créer des nouvelles façons de représenter des données. La validation de ces nouvelles techniques demeure un défi. En outre, les interfaces doivent être simples à utiliser, mais aussi faciliter l’analyse et l’exploration de données. Dans le but d’étudier de nouvelles options de visualisations pour faciliter des tâches de compréhension des données, nous avons d’abord classifié les travaux antérieurs avec des taxonomies. De cette manière, nous avons aussi pu mettre en lumière des nouvelles pistes d’hybrides (c’est-à-dire, des combinaisons d’approches) potentiellement intéressantes pour visualiser des réseaux statiques et dynamiques. Les contributions présentées dans cette thèse couvrent différents aspects de la visualisation de réseaux complexes et dynamiques. D’abord, le premier chapitre se concentre sur la visualisation de réseaux statiques comportant des hiérarchies, par la combinaison d’approches. Le prototype décrit dans le deuxième chapitre permet également de combiner des représentations visuelles, mais peut être aussi utilisé afin de modéliser des graphes dynamiques. Enfin, le troisième chapitre présente une nouvelle méthode visuelle appliquée afin de tracer l’évolution de structures de conception complexes dans des logiciels (modélisés par des réseaux). Ainsi, dans le premier prototype (TreeMatrix), des parties de graphes sont montrées avec des matrices et des diagrammes noeuds-liens, alors que les arborescences sont représentées par des diagrammes en glaçons et des regroupements. Contrairement aux autres visualisations dans la littérature, cette nouvelle technique aide à montrer des réseaux denses, sans nuire à la compréhension des liens à plus haut niveau. Une expérience avec des utilisateurs a montré certains avantages afin de découvrir et organiser les liens de modules au sein d’un logiciel, en comparaison avec le logiciel commercial Lattix. Nous avons également combiné des approches de manière novatrice pour notre second prototype (DiffAni) afin de visualiser des réseaux qui évoluent dans le temps. DiffAni est le premier hybride interactif de graphes dynamiques et sa validation avec des participants a permis de faire ressortir certains avantages. Ainsi, l’utilisation d’animation doit être modérée et est surtout utile lors de mouvements significatifs. Ces résultats, avec nos taxonomies, pourraient contribuer à guider la création de nouveaux hybrides dans le futur. Le troisième prototype (IHVis) a facilité l’exploration et le traçage de structures de conception dans des logiciels en évolution (modélisés par des réseaux) à partir de répertoires de code source. Cette nouvelle visualisation a notamment révélé des cas d’introduction de points de stabilité et des refactorings, et certains participants ont aussi trouvé d’autres informations intéressantes, telles que l’extension de fonctionnalités par l’implémentation d’interfaces. En résumé, cette thèse présente des façons novatrices et utiles de visualiser des réseaux complexes et dynamiques. Nos principales contributions sont (1) l’exploration d’espaces de conception de nouvelles visualisations de réseaux à l’aide de taxonomies, (2) la conception de prototypes combinant des approches pour visualiser des réseaux hiérarchiques et dynamiques, (3) la conception d’une nouvelle méthode visuelle d’exploration des variations et des instabilités au sein de logiciels en évolution, (4) l’évaluation de ces techniques à l’aide d’expériences avec des participants

    EvoSpaces: Multi-dimensional Navigation Spaces for Software Evolution

    No full text
    corecore