![Page 1: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/1.jpg)
1
Software Architecture: a Roadmap
David Garlen
Roshanak Roshandel
Yulong Liu
![Page 2: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/2.jpg)
2
Software Architecture
• Design and specification of complex software systems in terms of coarse-grained building blocks
• High-level abstraction representing structure, behavior, and key properties of software systems
• System’s blueprint• Shaw & Garlen: Elements, their interactions,
patterns, constraints• Perry & Wolf: { Elements, Forms, Rational }
what? how? why?
![Page 3: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/3.jpg)
3
Specification
Architecture
Implementation
![Page 4: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/4.jpg)
4
Roles of Architecture
• Understanding high level design
• Reuse component libraries, component, framework(domain specific SWA, reference FW, arch. Design patterns)
• Construction arch. description: blueprint for components and their dependencies
• Evolution separation of concerns (functionality vs. interaction)
• Analysis consistency, constraints, dependency, domain specific
• Management critical evaluation of arch. clearer understanding of requirements, implementation and risks
![Page 5: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/5.jpg)
5
Yesterday – 1990’s
• Box and lines – ad-hoc• No analysis of consistency of specification• No checking of architecture-implementation
consistency• Importance of architecture in industry
– recognition of a shared repository of methods, techniques, patterns and idioms (engineering)
– exploiting commonalities in specific domains to provide reusable frameworks for product families
![Page 6: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/6.jpg)
6
Today – 10 years later
• Architecting A first class activity in software development life cycle
• Architecture Description Languages (ADLs)
• Product Lines and Standards
• Codification and Dissemination
![Page 7: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/7.jpg)
7
ADLs
• Formalization – analysis for consistency, completeness,
correctness
• Conceptual framework and concrete syntax for characterizing SW arch
• Tools for parsing, analysis, simulation and code generation
• May be tied to particular Architectural Style
![Page 8: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/8.jpg)
8
Example ADLs
• C2 : Highly distributed event-based systems
• Darwin: Analysis of distributed message passing systems
• Meta-H: Design of real-time avionic systems
• Rapide: Simulation of architectural design
• Wright: formal spec and analysis of interaction between components
• SADL, Unicon, Aesop, Adage, …
![Page 9: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/9.jpg)
9
Architectural Style
• Vocabulary of component types, connector types, and constraints governing them– pipe-and-filter, layered, C2, blackboard,
client-server, GenVoca, event-based
• Key determinant of system’s success
• What about a style for embedded systems??
![Page 10: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/10.jpg)
10
Architectural Interchange?
• ADLs integration
• Acme
• xADL
• UML?
![Page 11: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/11.jpg)
11
Product Lines and Standards
• Commonalities across products• Requirements for family of systems and their
relationships • Cross-vendor integration standards
– HLA framework for distributed simulation • interface standards• formalized and standardized
– EJB distributed Java-based enterprise application• vendor neutral interface• ad-hoc
![Page 12: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/12.jpg)
12
Codification and Dissemination
• Lack of shared body of knowledge
• Standard architectural styles
• Identification & documentation of these styles patterns engineering
• Mismatch analysis (e.g. COTS integration) identify architectural strategies for bridging mismatches
![Page 13: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/13.jpg)
13
Tomorrow
• Build vs. Buy
• Network-Centric Computing
• Pervasive Computing
![Page 14: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/14.jpg)
14
Build vs. Buy
• Key issue in the development of system
• Buying+ saves development time- may not completely satisfy the need- less under control of the dev. team
• Economic pressures to reduce time-to-market changes the balance
![Page 15: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/15.jpg)
15
New trends in SW architecture
• Need for industry-wide standards– component-based engineering
• Agree on common architectural FW (COM, JavaBeans, CORBA)
• architecture-based engineering (HLA, EJB)
• New SW subcontracting process– higher standards of architecture conformance
(commercial or governmental)
• Standardization of notations and tools– architectural modeling (UML, XML)
![Page 16: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/16.jpg)
16
Network-Centric Computing
• PC-centric model Network-centric model – distribution, mobility, resource constraints– riche set of computing and information retrieval
services
• Closed-system open-system – mainly static architecture dynamic architecture– less centralized control (e.g. Internet)
• Several new challenges
![Page 17: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/17.jpg)
17
Challenges
• Scaling up to the size and variability of the internet– implementation and specification changed
• Computing with dynamically-formed, task-specific, coalitions of distributed autonomous resources– manage architecture models at run time– evaluate the properties of components ensembles
![Page 18: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/18.jpg)
18
Challenges (cont.)
• Need for architectures that flexibly accommodate commercial application service providers– local & remote computing, billing, security
• Need for architectures that allows system composition by end users– unnecessary to be technical experts
![Page 19: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/19.jpg)
19
Pervasive Computing
• A large number of devices• Heterogeneous systems
– Physical resource and computing power
• Challenges 1.Resource usage – power consumption2.Flexibility – dynamic reconfiguration without
interruption3.Mobility – automated control over the
management of computational services for changing environment
![Page 20: Software Architecture: a Roadmap David Garlen](https://reader035.vdocuments.us/reader035/viewer/2022080223/56813168550346895d97df96/html5/thumbnails/20.jpg)
20
Conclusion
• It is all about the Architecture • We are sitting in the right class!!
• From science to engineering
• Still immature but we are on the right track