1 / 12

CSCI 578 Software Architectures

CSCI 578 Software Architectures. Dr. Chris Mattmann Tuesday, January 12, 2010. 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)

Samuel
Download Presentation

CSCI 578 Software Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSCI 578Software Architectures Dr. Chris Mattmann Tuesday, January 12, 2010

  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 CS578

  3. General Class Information • Lecture, 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 CS578

  4. General Class Information • Syllabus/Web Site: • http://sunset.usc.edu/classes/cs578_2010b/ • 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 CS578

  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. CS578

  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 – I’m teaching a class, CS572, on this topic during Summer 2010 CS578

  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 CS578

  8. Content repositories are growing rapidly in size At the same time, we expect more immediate dissemination of this data How do we distribute it… In a performant manner? Fulfilling system requirements? Software Architecture Research Problem ? CS578

  9. Data Distribution Technologies XML-RPC Given our current architecture? UFTP Siena GridFTP bbFTP Which one is the best one? FTP Aspera CORBA RMI Given our distribution scenarios and requirements? SOAP Bittorrent SFTP HTTP/REST JXTA SCP GLIDE/PRISM-MW CS578

  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 CS578

  11. Data Distribution System Architecture Overall Approach “White Box” Guru Connector KB Data System Architect CS578 Performance KB “Black Box” Guru

  12. So, today… • You’re free to enjoy the day • Course 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 CS578

More Related