160 likes | 328 Views
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
E N D
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
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
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
Generating effect visualizations. Figure 7-7. Visualization combining elements from xADL and UML.