Visualization By: Simon Luangsisombath
Canonical Visualization Architectural modeling notations are ways to organize information Canonical notation – every notation has at least one visualization that is directly and specifically associated with it A common pitfall is to associate an architecture modeling notation as only with canonical notation or view a notation and its canonical notation as the same thing Notation is a way organizing abstract information Visualization dictates how information is depicted and interacted with Visuals are not optimal for all uses so notations which there exists multiple visualizations are generally preferred than single canonical visualizations
Textual Visualizations They depict architectures using text files Generally conform to a particular syntactic format such as.java or.c Several advantages Depict entirety of an architecture in a particular notation in a single file Many technologies have been researched for parsing, processing and editing structure text When a textual syntax is defined many tools are available to generate library's that can parse and check syntax of text documents in that language Disadvantage It is not understood well with graph like structures Text editors are limited to showing a screen full of text with few options of organization
Textual depictions for an architecture in xADL and xADLite.
Graphical Visualizations Depicted as architectures using graphical symbols Generally conform to a syntax but my also be free form They give stakeholders access to information about architecture that text does not Symbols, colors and other visual decorations can easily be distinguished They can use special relationships to express relationships among elements Disadvantage Cost of building tools to support them More popular tools lack understanding of architectural semantics and is difficult or impossible to add appropriate semantics and interactions to a wider software engineering environment
Hybrid Visualizations Many visualizations blur between graphical and textual Some can be composites of many different visualizations EX: UML composite structure diagram is primarily graphical visualization used to contain other UML diagrams Composite visualizations can be good for displaying relationships between different aspects of the same architecture But they can be quickly become complex and confusing as depictions and interaction mechanisms are combined Strategies such as drill down interaction can mitigate complexity
Relationship between Visualization and views Effective use of view and viewpoints help consider different subsets of design decisions in an architecture Visualization for a viewpoint defines depiction and interaction mechanisms only for the kinds of design decisions included in viewpoint Associate visualization with viewpoints rather than views A visualization can be used to visualize many architectures
Various UML diagram types.
Evaluating Visualizations Fidelity is a measure of how faithfully a visualization represents a underlying model Consistency is a measure of how well a visualization uses similar depictions and interaction mechanism for similar concepts Comprehensibility is a measure of how easy it is for stakeholders to understand and use a visualization Dynamism is a measure of how well a visualization supports models that change over time View coordination is how well one visualization is coordinated with others Aesthetics is a measure of how pleasing a visualization is to its users Extensibility is a measure of how easy it is to modify a visualization to take on new capabilities, for either depiction or interaction
Constructing a Visualization Borrowing Elements from Similar Visualizations Be Consistent among Visualizations Give Meaning to Each Visual Aspect of Elements Document the Meaning of Visualization Balance Traditional and Innovative Interfaces
Coordinating Visualizations It is key that visualizations must coordinate with each other Four general synchronization strategies Peer to Peer Visualization maintain their own copies of information, know about each other explicitly and notify change This strategy is more suitable for small fixed number of visualizations chosen in advance Master-slave One Visualization is responsible for interacting with the model repository and serves as master This works when one visualization is auxiliary to another Pull-Based Each Visualization repeatedly queries a shared model for changes and updates itself Pull based strategies can be used when the model repository is entirely passive The disadvantage is it may display out of date information until it performs a pull Pushed based Visualizations are notified and consequently update themselves whenever model changes
Multiple strategies for coordinating visualizations of the same information: (a) peer-to-peer, (b) master-slave, (c) pull, and (d) push.
Beyond Design: Using Visualization dynamically Effective visualization is a visualization that does not represent architectural design decisions directly, but instead represents effect of architectural design decisions
Figure 7-7. Visualization combining elements from xADL and UML. Generating effect visualizations.