CSCI 578 Software Architectures Dr Chris Mattmann Tuesday January 13 2009 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 2 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 Jan 13 09 CS578 CAM 3 General Class Information Syllabus 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 4 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 5 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 6 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 7 Software Architecture Research Problem 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 Jan 13 09 NASA Planetary Data System Archive Volume Growth 90 80 70 60 50 40 TB Accum 30 20 10 0 TBytes 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 Year CS578 CAM 8 Data Distribution Technologies GridFTP XML RPC bbFTP Which one is Aspera the best one Bittorrent SCP Jan 13 09 RMI UFTP Given our Siena current architecture FTP CORBA Given ourSOAP SFTP distributionJXTA HTTP REST scenarios and GLIDE PRISM MW requirements CS578 CAM 9 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 10 Overall Approach White Box Guru Connector KB Data Distribution System Architecture Data System Architect Jan 13 09 CS578 Performance KB CAM 11 Black Box Guru 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 Jan 13 09 CS578 CAM 12
View Full Document