Center for Systems and Software Engineering Nenad Medvidovic Director, CSSE Computer Science Department Viterbi School of Engineering University of Southern California neno@usc.edu http://csse.usc.edu/~neno/ History and Mission • CSE Established in 1993 • Merged in 2006 with SAE to form CSSE • Intended to provide an environment for research and teaching – – – – – large-scale software design and development processes generic and domain specific software architectures software engineering tools and environments collaborative system design the economics of software engineering • Objective is to solve problem of academic as well as industrial relevance Affiliates • Currently 34 industrial affiliates – – – – – 12 from commercial industry 8 from aerospace industry 6 from the Government 6 FFRDCs and Consortia 2 international • Additionally – 3 visiting associates – 5 university affiliates • Two closely affiliated research centers – SERC – CAST Academics • • • • Over 30 PhDs conferred since inception MSCS with emphasis in SE Graduate Certificate in SAE Two Certificate and Advanced Degree programs – Systems and System-of-Systems Architecting – Software Architecture Focus Areas in Software Engineering • • • • Architecture Economics Process Testing & analysis Software Architecture Research • Modeling – – – – – xADL UML FSP MTS Crystal growth • Analysis – – – – – – Reliability Availability Energy Consumption Memory Usage Latency … Software Architecture Research • Implementation – Architectural frameworks/middleware • Deployment – QoS-based optimization • Dynamic adaptation – Policy-driven • Architectural styles • Software connectors • Architectural recovery – Syntactic vs. semantic – Architectural smells Software Architecture Research - Domains • • • • • • • Hand-held computing Embedded systems WSNs Robotics Grid Scientific computing Biologically-inspired computing Sample Project 1 MIDAS – Architecting Embedded and Mobile Systems Sample Project 2 GLIDE – Revisiting the Architecture of the Grid Sample Project 3 Mahjong – Emulating Crystal Growth on the Internet 0 0 ? v v 0 0 0 1 1 1 1 ? ¬v ¬v ¬v ¬v 0 0 0 *0 0 0 0 0 0 *0 0 0 *0 0 0 0 0 c ? v v v v v v v v v v v Client 1 1 *0 0 1 ¬v ¬v 0 0 c *v 0 || | 1 v 0 1 1 ¬v c v 0 0 c v *0 0 c v 0 0 *v v | 0 v 0 0 1 ¬v 0 0 0 v v 1 *1 0 v v 0 *1 ¬v 0 0 0 1 | 1 *0 0 v 0 1 ¬v ¬v 0 0 v 0 v c v 0 *0 c v 0 OK v 1 0 || 1 1 0 v 0 1 1 ¬v 0 0 v ¬v v 1 0 ¬v || || 1 0 v 0 0 *1 ¬v 0 0 v 0 1 0 ¬v 0 1 0 ¬v 0 1 || 1 0 v v 0 1 ¬v 0 0 v c *¬v 0 1 c || 1 0 0 v 0 1 ¬v 0 0 v ¬v 0 1 c ¬v || 1 1 0 v 0 *1 ¬v 0 0 v 0 1 c ¬v 0 || | 1 0 v 0 1 ¬v 0 0 v 0 c ¬v 0 0 ¬v *¬v 0 0 ¬v | 1 0 v *0 1 ¬v 0 0 v 1 0 0 ¬v 1 | 1 0 v 0 *1 ¬v 0 0 v 0 0 ¬v 1 0 | 1 0 v 0 1 ¬v 0 0 v ¬v *¬v 1 0 ¬v | 1 0 v 0 1 ¬v 0 0 v 0 1 0 ¬v 0 | 1 0 v 0 1 ¬v 0 0 v v 1 0 ¬v 0 1 || 1 0 v 0 *1 ¬v 0 0 0 c *¬v 0 1 c || 1 0 v 0 1 ¬v 0 0 ¬v 0 1 c ¬v || 1 0 v 0 1 ¬v ¬v 0 1 c ¬v 0 || 1 0 v 0 *1 1 0 c ¬v 0 0 | 1 0 v 0 *0 ¬v *¬v 0 0 ¬v | 1 0 v v 1 0 0 ¬v 1 | 1 0 0 0 | 1 1 v | | 0 0 ¬v 1 0 v 1 *v v v v | 0 *¬v 1 0 0 1 v *0 0 0 | *0 1 0 0 1 v 0 *0 0 | 0 0 ¬v 1 v ¬v ¬v ¬v | 0 c *v 0 OK c v 0 OK v v *0 OK v 1 0 OK *v 1 0 OK v 1 0 ¬v v 1 0 ¬v 0 1 0 ¬v 0 1 0 ¬v 0 1 c ¬v 0 1 c ¬v 0 1 c ¬v 0 1 c ¬v 0 0 c ¬v 0 0 ¬v ¬v 0 0 ¬v *1 0 0 ¬v 1 0 0 ¬v 1 *0 ¬v ¬v 1 OK ¬v 0 1 OK ¬v 0 1 OK ¬v 0 1 c ¬v 0 1 c ¬v 0 1 c ¬v 0 1 c ¬v 0 0 c ¬v 0 0 ¬v ¬v 0 0 ¬v *1 0 0 ¬v 1 0 1 1 v 1 1 1 | 0 0 ¬v 1 *0 0 1 v 0 0 0 | 0 ¬v 1 OK v 1 *v v v v | 0 1 OK 0 1 v *0 0 0 | *0 OK 1 1 v 1 *1 1 | 0 || *1 || || || | v c Network ` problem in1, in2, ... ` out1, out2, ... ` ` Last, but not least!