CSCI 578 Software Architectures Dr. Chris Mattmann Tuesday, January 13, 2009.

12
CSCI 578 Software Architectures Dr. Chris Mattmann Tuesday, January 13, 2009
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    0

Transcript of CSCI 578 Software Architectures Dr. Chris Mattmann Tuesday, January 13, 2009.

CSCI 578Software Architectures

Dr. Chris MattmannTuesday, January 13, 2009

Jan-13-09 CS578 CAM-2

The Class

Will give you a complete treatment of the area of software architecture• The fundamental building blocks of

software systems• Components (units of computation)• Connectors (interactions between the

software components)• Configurations (arrangements of

components and connectors)

Will equip you with the necessary skills to design complex, real-world software

Jan-13-09 CS578 CAM-3

General Class InformationLecture, but…• You can participate• You should participate• You will participate, that is, if you

want to do well :)On-campus, and remote (DEN) sections• DEN section capped at 20 students• Not my limit, but DEN’s• Please ask questions, if you need

to

Jan-13-09 CS578 CAM-4

General Class InformationSyllabus/Web Site:• http://sunset.usc.edu

/classes/cs578_2009b/• Visit it often, as the schedule may

change!• This is where all of your homework

assignments will be posted• This site will point you to required

reading, and to lectures that you can download before class

Jan-13-09 CS578 CAM-5

What We’ll Cover

The entire spectrum of software architecture• Where it fits in the overall software

engineering process -- it’s the linchpin!• Software architectural styles, product line

architectures, components, connectors, implementation frameworks, middleware, non-functional properties, visualization, the role of the architect…lots of topics!

Topical research in software architecture• (Optional) papers, data-intensive systems,

etc.

Jan-13-09 CS578 CAM-6

Me

Graduated with my Ph.D. in Computer Science from USC in 2007• Advisor: Dr. Nenad Medvidovic

Was a student at USC from 1998-2007• B.S., Computer Science 2001• M.S., Computer Science 2003

My research interests• The intersection of software architectures,

and large-scale data dissemination• Software connector selection• Bayesian decision theory• Reinforcement learning• Search Engines

Jan-13-09 CS578 CAM-7

My Other Day Job• National Aeronautics and Space

Administration (NASA)• Planetary Data System• Consultative Committee for Space Data

Systems (CCSDS)

• U.S. National Cancer Institute (NCI)• Early Detection Research Network

• NASA Jet Propulsion Laboratory• OCO Earth Science Mission• NPP Sounder PEATE Earth Science Mission• Computer Modeling Simulation and

Visualization Initiative• Climate Data eXchange• Virtual Oceanographic Data Center

Jan-13-09 CS578 CAM-8

Software Architecture Research Problem

Content repositories are growing rapidly in sizeAt the same time, we expect more immediate dissemination of this dataHow do we distribute it…

•In a performant manner?•Fulfilling system requirements?

?NASA Planetary Data System

Archive Volume Growth

0

10

20

30

40

50

60

70

80

90

1990 1992 1994 1996 1998 2000 2002 2004 2006 2008

Year

TB (Accum)

TBytes

Jan-13-09 CS578 CAM-9

Data Distribution Technologies

bbFTP

GridFTP

Aspera

HTTP/REST

RMI CORBA

SOAP

XML-RPC

Bittorrent

JXTA

UFTP

FTP

SFTP

SCP

Siena

GLIDE/PRISM-MW

Which one is the best one?

Given our current architecture?

Given our distribution scenarios and requirements?

Jan-13-09 CS578 CAM-10

Architectural Decisions• Architectural decisions (such as connector selection)

impact functional and non-functional properties of the overall data distribution system architecture• It does matter what connector you select

• Functional (performance)• Efficiency, consistency, scalability, dependability of the

data transfer

• Non-functional (e.g., interoperability, security)

• We assert that this process has largely remained an art form and forces organizations to rely on organizational gurus whose knowledge is never encoded or understood

Jan-13-09 CS578 CAM-11

Overall Approach

Connector KB

Performance KB “Black Box” Guru

“White Box” Guru

Data System Architect

Data Distribution System Architecture

Jan-13-09 CS578 CAM-12

So, today…

You’re free to enjoy the dayCourse book status• University Bookstore

(Possible) Reading assignment• Chapter 1: The Big Idea• Depends on the availability of

the book

Be ready to get going on Thursday