100 likes | 300 Views
Software Architecture Research and Practice. Nenad Medvidovic University of Southern California neno@usc.edu http://sunset.usc.edu/~neno/. Rapid and continuous growth of software size, complexity, heterogeneity, distribution reliance on legacy software
E N D
Software ArchitectureResearch and Practice Nenad MedvidovicUniversity of Southern Californianeno@usc.eduhttp://sunset.usc.edu/~neno/
Rapid and continuous growth of software size, complexity, heterogeneity, distribution reliance on legacy software Interoperability with heterogeneous hardware each hardware device runs its own software The Motivation • Engineering systems of systems
The tools OO database - RPC mechanism GUI toolkit - event-broadcast mechanism System costs estimated: 6 months, 1 person-year actual: 24 months, 5 person-years Result huge system sluggish performance difficult to maintain A Motivating ExampleBuilding a Software Environment from Existing Tools • The underlying causes were architectural! But, where was the architecture hidden?
What is the Problem? This is a simple software system!
The Usual Tool: Design Abstraction We have to do better!
Events Connectors Components Architectural Abstraction
Early, high-level system model Stakeholder understanding and communication Focus on specific system properties Separation of concerns Early analysis and simulation Tool-supported implementation Improved processes and project management Why Software Architecture?
Introduce intermediate form Transform on the fly Attach adapter to A Separate B’s essence from its packaging or B B A Publish abstraction of A’s form Provide B with import/export converter Maintain multiple versions of A Negotiate to find common form for A and B Make B multilingual Change A’s form to B’s form Role and Challengeof Software Connectors How do we enablecomponents A and B to interact? B A What is the right answer?
Understanding and exploiting software connectors Architectural representation and analysis Architecture-based system composition and generation Architectural styles and product line architectures Architecting processes Key challenges formalism vs. understandability tradeoff formalism vs. incompleteness and incrementality Key Contribution Areas
Direct product of research HLA Tokyo Electric Power Company ADAGE Motorola Indirect, but clear influence of research Siemens Component interoperability platforms Recent Success Stories