software architecture: a roadmap david garlen

20
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu

Upload: kelly-kirk

Post on 01-Jan-2016

26 views

Category:

Documents


1 download

DESCRIPTION

Software Architecture: a Roadmap David Garlen. Roshanak Roshandel Yulong Liu. 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Software Architecture: a Roadmap David Garlen

1

Software Architecture: a Roadmap

David Garlen

Roshanak Roshandel

Yulong Liu

Page 2: Software Architecture: a Roadmap David Garlen

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

3

Specification

Architecture

Implementation

Page 4: Software Architecture: a Roadmap David Garlen

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

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

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

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

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

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

10

Architectural Interchange?

• ADLs integration

• Acme

• xADL

• UML?

Page 11: Software Architecture: a Roadmap David Garlen

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

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

13

Tomorrow

• Build vs. Buy

• Network-Centric Computing

• Pervasive Computing

Page 14: Software Architecture: a Roadmap David Garlen

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

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

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

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

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

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

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