Академический Документы
Профессиональный Документы
Культура Документы
M. Shaw and D. Garlan. Software Architecture: Perspectives on a Emerging Discipline. Prentice Hall, Englewood Cliffs, NJ, 1996 F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-Oriented Software Architecture. A System of Patterns. John Wiley & Sons Ltd., Chichester, UK, 1996 2
Overview
Context What is software architecture? Example: Mobile Robotics
What Is Design?
Requirements specification was about the WHAT the system will do Design is about the HOW the system will perform its functions
provides the overall decomposition of the system allows to split the work among a team of developers also lays down the groundwork for achieving nonfunctional requirements (performance, maintainability, reusability, etc.) takes target technology into account (e.g., kind of middleware, database design, etc.)
4
Levels of Design
Architectural design
also: high-level design architecture - the overall structure: main modules and their connections design that covers the main use-cases of the system addresses the main non-functional requirements (e.g., throughput, reliability) hard to change
Detailed design
also: low-level design the inner structure of the main modules may take the target programming language into account detailed enough to be implemented in the programming language
Overview
Context What is software architecture? Example: Mobile Robotics
Provides a way of analysing systems at a high level of abstraction Illuminates top-level design decisions
7
Rationale
Relates requirements and implementations
Architecture Development
Unified Process:
Focus on implementing the most valuable and critical use cases first Produce an architectural description by taking those design elements that are needed to explain how the system realizes these use cases at a high level
Use past and proven experience by applying architectural styles and patterns
13
Architectural Styles
The architecture of a system includes
Components: define the locus of computation
Examples: filters, databases, objects, ADTs
Overview
Context What is software architecture? Example: Mobile Robotics
15
Actuators
Sensors
Environment
17
Environment
19
Task
Exception
Ether
Dispatched message Wiretap
Task Task
21
Task
Grab rock
Lift rock
22
Solution 4: Blackboard
Lookout (monitors the Environment for landmarks) Capitan (overall supervisor) Map Navigator (high-level path planner) Pilot (low-level path planner and motor controller)
Blackboard (common state incl. Consolidated Sensor readings, the path, world representation, etc.) Perception subsystem (gets raw sensor input and integrates into coherent SensorN interpretation) Sensor2 Sensor3
24
Sensor1
Solution 4: Blackboard
R1: Components register interest for certain info with the blackboard; interaction with unpredictable environment can be achieved through observation R2: Internal uncertainty can be resolved in the blackboard; the individual components may be assigned rights and priorities for correcting certain type of information R3: Safety may be supported by placing supervisors enforcing certain conditions plus the blackboard can be easily inspected, monitored, and managed R4: Very flexible; can add and replace components by registering them with the blackboard
25
Comparison
Control Layers Implicit loop invocation Task coordination Dealing with uncertainty Fault tolerance Safety Performance Flexibility ++++++++++ ++ + ++ + Blackboard + + + + + +
26