Visualizing Softw are Architecture w ith Off-The-Shelf Components - - PowerPoint PPT Presentation

visualizing softw are architecture w ith off the shelf
SMART_READER_LITE
LIVE PREVIEW

Visualizing Softw are Architecture w ith Off-The-Shelf Components - - PowerPoint PPT Presentation

Visualizing Softw are Architecture w ith Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software Research University of California, Irvine Outline Overview Background Integrate off-the-shelf components


slide-1
SLIDE 1

Visualizing Softw are Architecture w ith Off-The-Shelf Components

Jie Ren, Richard Taylor Institute for Software Research University of California, Irvine

slide-2
SLIDE 2

Outline

Overview Background Integrate off-the-shelf components Visualize static structure Visualize dynamic execution Related work Conclusion

slide-3
SLIDE 3

Overview

Motivation:

– To facilitate construction of large software – To explore issues in reusing OTS Components

Validation

– Integrating ArchStudio, Visio and Graphviz – AWACS simulator

Contribution

– demonstration of the effectiveness of development with COTS components – exploration of different integration technologies – the software architecture visualization solution

slide-4
SLIDE 4

Background: C2, xADL

C2 Architecture Style

– Components, connectors – Interface: top, bottom – Events: request, notification

xADL 2.0 Architecture Description

Language

– Instance – Structure and Type – Configuration Management Support

slide-5
SLIDE 5

Background: ArchStudio

xArchADT Visio ArchEdit File Manager/Invoker ADT Tier Convenience Tier No-UI Tools Tier UI Tools Tier Management Tier UI-based tools and UIs for upper layers tools.

components providing more "convenient" APIs to xArchADT Analysis, Simulation, and other tools without user interfaces. ...... ......

slide-6
SLIDE 6

Background: Visio and Graphviz

Microsoft Visio

– popularity, support, functionality, and customizability

Graphviz (from AT&T Research)

– the appearance of the resulting graph drawings – tool usability: speed, scalability

slide-7
SLIDE 7

Visio for ArchStudio

slide-8
SLIDE 8

Integrating Components

Integrate ArchStudio and Visio

– Running ArchStudio within Microsoft JVM – Interoperation with Sun JVM through RMI – Generic COM/Event Bridge

Integrate Visio and Graphviz

– File-based – Native COM interface

slide-9
SLIDE 9

Visio as Graphical Editor

Enhance Visio to edit architectural

constituents

Functionalities:

– Create component and connector types – Create/Delete components/connectors – Connect/Disconnect components/connectors – Undo the editing operations – Group/Ungroup components and connectors – Create sub architectures

slide-10
SLIDE 10

Visualization of Static Structure

Extensible visual notation Visualizing architecture description Supporting complex architecture

slide-11
SLIDE 11

Visual Notations

Template, Stencil, and Master Meta masters for component type,

connector type, and link type

One master for each type Customization of masters

slide-12
SLIDE 12

Visualize Architecture Description

Use Graphviz to layout constituents of

an architecture

Visio reads the result and positions the

components and connectors

slide-13
SLIDE 13

Notion of A->B

Handling of direction: order of appearance Different shapes for components and connectors Handling of link: use Visio’s built-in link

Architecture Concepts to be Visualized Visua lized In Box- And-Line-like Description Visua lized In xADL-like Description Components Box Box Connectors Line Box (different type) Links (Implicit) Line Input to Graphviz Component-> Component Component-> Connector; Connector-> Component

slide-14
SLIDE 14

AWACS Structure

<componentType id="MAINRDMX_TYPE"> </componentType> ...... <connectorType id="CONNECTOR_TYPE_1"> </connectorType> <component id="MAINRDMX1"> <type href="#MAINRDMX_TYPE"/> <interface id=”MAINRDMX1_I_AOCPCAU1”/> </component> <connector id="Connector_02"> <type href="#CONNECTOR_TYPE_1"/> <interface id=”Interface_B_02”/> </connector> <link id="Link_MAINRDMX1_02"> <point> <anchorOnInterface href="#MAINRDMX1_I_AOCPCAU1"/> </point> <point> <anchorOnInterface href="#Interface_B_02"> </point> </link> ......

AWACS

– 40+ component types – 120+ components – 200+ connectors – 400+ links – 10000+ lines of xADL code

slide-15
SLIDE 15

AWACS Visualization

slide-16
SLIDE 16

Support Complex Architecture

Group Sub

Architecture

Architecture

Browser

slide-17
SLIDE 17

Visualize Dynamic Execution

Instantiation Events Listener

slide-18
SLIDE 18

Visualization Summary

General purpose graphical editor Visualize architecture descriptions,

using architect’s graphical notations

Group, sub-architecture, browse Animation of execution

slide-19
SLIDE 19

Related Work

Visualization in other ADLs

– Developed from scratch – Few support both static and dynamic visualization

Integrating Commercial Products

– Goldman/Balzer: PowerPoint – Coppit/Sullivan: Package Oriented Programming

Other forms of software architecture visualization

– Grundy/Husking: SoftArch – Reverse Engineering Community

slide-20
SLIDE 20

Conclusion

Integrating COTS into a visualization

solution

Contribution: demonstration, integration,

solution

Choosing components: open source, easy

customization, business factors

Further work: event filtering/track,

architecture analysis, architecture evolution