visualizing software architecture with off-the …jie/seke03-presentation.pdfvisualizing software...

20
Visualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software Research University of California, Irvine

Upload: others

Post on 17-Jun-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Visualizing Software

Architecture with Off-The-Shelf Components

Jie Ren, Richard TaylorInstitute for Software ResearchUniversity of California, Irvine

Page 2: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

OutlineOverviewBackgroundIntegrate off-the-shelf componentsVisualize static structureVisualize dynamic executionRelated workConclusion

Page 3: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

OverviewMotivation:– 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

Page 4: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Background: C2, xADLC2 Architecture Style– Components, connectors– Interface: top, bottom– Events: request, notification

xADL 2.0 Architecture Description Language– Instance– Structure and Type– Configuration Management Support

Page 5: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Background: ArchStudioxArchADT

Visio ArchEdit

File Manager/Invoker

ADT Tier

Convenience Tier

No-UI Tools Tier

UI Tools Tier

Management Tier

UI-based tools and UIs forupper layers tools.

components providing more "convenient" APIs to xArchADT

Analysis, Simulation, and other tools without user interfaces.

......

......

Page 6: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Background: Visio and Graphviz

Microsoft Visio– popularity, support, functionality, and

customizabilityGraphviz (from AT&T Research)– the appearance of the resulting graph

drawings – tool usability: speed, scalability

Page 7: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Visio for ArchStudio

Page 8: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Integrating ComponentsIntegrate 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

Page 9: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Visio as Graphical EditorEnhance Visio to edit architectural constituentsFunctionalities:– 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

Page 10: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Visualization of Static Structure

Extensible visual notationVisualizing architecture descriptionSupporting complex architecture

Page 11: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Visual NotationsTemplate, Stencil, and Master Meta masters for component type, connector type, and link typeOne master for each typeCustomization of masters

Page 12: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Visualize Architecture Description

Use Graphviz to layout constituents of an architectureVisio reads the result and positions the components and connectors

Page 13: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Notion of A->B

Handling of direction: order of appearanceDifferent shapes for components and connectorsHandling of link: use Visio’s built-in link

Architecture C oncepts to be Visua lized

Visua lized In B ox-And-L ine-like Description

Visua lized In xADL -like Description

C omponents B ox B ox C onnectors L ine B ox (different type) L inks (Implic it) L ine Input to Graphviz C omponent->

C omponent C omponent-> C onnector; C onnector-> C omponent

Page 14: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

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

Page 15: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

AWACS Visualization

Page 16: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Support Complex Architecture

GroupSub ArchitectureArchitecture Browser

Page 17: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Visualize Dynamic Execution

InstantiationEventsListener

Page 18: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Visualization SummaryGeneral purpose graphical editorVisualize architecture descriptions, using architect’s graphical notationsGroup, sub-architecture, browseAnimation of execution

Page 19: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

Related WorkVisualization 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

Page 20: Visualizing Software Architecture with Off-The …jie/seke03-presentation.pdfVisualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software

ConclusionIntegrating COTS into a visualization solutionContribution: demonstration, integration, solutionChoosing components: open source, easy customization, business factorsFurther work: event filtering/track, architecture analysis, architecture evolution