Software Architecture Toolkit - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Software Architecture Toolkit

Description:

Based on a pipeline architecture with three phases. Extract (cppx) ... Extract. Output. Input. Filter ... Extracts facts from one source file at a time ... – PowerPoint PPT presentation

Number of Views:16
Avg rating:3.0/5.0
Slides: 16
Provided by: andrewt64
Category:

less

Transcript and Presenter's Notes

Title: Software Architecture Toolkit


1
Software Architecture Toolkit
  • Presented by
  • Andrew Trevors

2
Introduction
  • Overview
  • Example PostgreSQL
  • The SWAGKit Pipeline
  • cppx prep
  • linkplus
  • layoutplus
  • lsedit
  • Examples
  • Common Q A
  • Your Questions?

3
Overview
  • SWAGKit is used to generate software landscapes
    from source code
  • Based on a pipeline architecture with three
    phases
  • Extract (cppx)
  • Manipulate (prep, linkplus, layoutplus)
  • Present (lsedit)
  • Currently usable for programs written in C/C
  • Whats a software landscape and how can it help
    me as a software engineer?
  • Example from last term (PostgreSQL)

4
Example PostgreSQL
5
The SWAGKit Pipeline
Source Code
layoutplus
linkplus
cppx
prep
lsedit
Landscape
6
The SWAGKit Pipeline
7
cppx prep
  • C/C Fact extractor based on gcc
    (http//swag.uwaterloo.ca/cppx)
  • Extracts facts from one source file at a time
  • Facts represent program information as a series
    of triples
  • INSTANCE x integer x is an integer
  • inherit UWStudent UWPerson UWStudent inherits
    from UWPerson
  • call foo bar foo calls bar
  • Produces .c.ta files, one per source file
  • Use g option for gcc parameters

8
cppx prep
  • Prep is a series of scripts written in Grok
  • Function is to clean up facts from cppx so they
    are in a form which can be usable by the rest of
    the pipeline.
  • Produces one .c.o.ta for each .c.ta
  • Can replace manual use of cppx prep with gce
  • Edit makefile, replace gcc with gce
  • Type make

9
linkplus
  • Function is to link all facts into one large
    graph
  • Combine graphs from .c.o.ta files
  • Resolve inter-compilation unit relationships
  • Merge header files together
  • Do some cleanup to shrink final graph
  • Usage
  • linkplus list_of_files_to_link
  • Produces out.ln.ta

10
layoutplus
  • Adds
  • Clustering of facts based on contain.rsf
  • Layout information so that graph can be displayed
  • Schema information
  • Usage
  • layoutplus contain_file out.ln.ta
  • Produces out.ls.ta

11
lsedit
  • View software landscape produced by previous
    parts of the pipeline
  • Can make changes to landscape and save them
  • Usage
  • lsedit out.ls.ta

12
Examples
  • Short demo of c488
  • makefiles for cppx, prep, linkplus, layoutplus
  • contain.rsf file clustering
  • Final landscape for c488

13
Common Q A
  • Q Where can I find documentation on how to use
    SWAGKit?
  • A Youre looking at it. This presentation, plus
    myself and Ric, are you official documentation
    for SWAGKit.
  • Q How do I install SWAGKit on my home/school PC?
  • A You will be given accounts on montabello, so
    there is no need to install it on another PC.
    However, if you feel the need to work on another
    PC, follow the instructions on the website
    (http//swag.uwaterloo.ca/swagkit) about
    installation

14
Common Q A
  • Q If I find errors, who do I report them to?
  • A First, check the newsgroup to make sure your
    question hasnt already been answered. If it
    hasnt, send an email to the course account, or
    post a question to the newsgroup. Be as
    descriptive as possible.
  • Q Is the source code for SWAGKit available?
  • A Source code for all programs, except Grok, are
    available. Send an email to swagkit_at_swag.uwaterlo
    o.ca with your request

15
Your Questions?
  • Questions from the class
Write a Comment
User Comments (0)
About PowerShow.com