+ All Categories
Home > Documents > Visualizing Software Architecture with Off-The-Shelf

Visualizing Software Architecture with Off-The-Shelf

Date post: 12-Feb-2022
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
20
Visualizing Software Architecture with Off-The-Shelf Components Jie Ren, Richard Taylor Institute for Software Research University of California, Irvine
Transcript

Visualizing Software

Architecture with Off-The-Shelf Components

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

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

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

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

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.

......

......

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

Visio for ArchStudio

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

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

Visualization of Static Structure

Extensible visual notationVisualizing architecture descriptionSupporting complex architecture

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

Visualize Architecture Description

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

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

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

AWACS Visualization

Support Complex Architecture

GroupSub ArchitectureArchitecture Browser

Visualize Dynamic Execution

InstantiationEventsListener

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

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

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


Recommended