1 a-7e case study csse 477 software architecture steve chenoweth, rose-hulman institute wk 1, day 3
Post on 14-Jan-2016
215 Views
Preview:
TRANSCRIPT
1
A-7E Case Study
CSSE 477 Software ArchitectureSteve Chenoweth, Rose-Hulman InstituteWk 1, Day 3
2
Today
A case history – thisCh 3 in Bass, et al.
Time to work on Project 1 in class.
3
A7E - Acknowledgements
Some of the material in these slides is taken from Software Architecture in Practice, 2nd edition by Bass, Clements, Kazman.
http://www.sei.cmu.edu/staff/ljb/, http://www.sei.cmu.edu/staff/clements/, http://www.sei.cmu.edu/staff/rkazman/.
4
Outline
History of A-7E Project Decomposition Structure Uses Relation Process Structure
5
Naval Research Laboratory
David Parnas
Paul Clements David WeissKathryn Britton
6
A-7E History
Software Cost Reduction (SCR)Information hiding
A-7E Project (1977 - 1987)Requirements discoveryReference ArchitectureSoftware Architecture and DesignPartial implementation
7
A-7E Avionics
Sensors air probe radar
Displays map heads-up
Input joystick keypad
8
Module Guide
Provides decomposition structure of software architecture
Describes information hiding modules Purposes:
avoid duplication and gapsachieve separation of concernshelp maintainer find modules affected
by a change request
9
Decomposition Goals
Each module should be simple enough to understand fully
Change in implementation of a module should not affect other modules
Ease of making change related to likelihood of need for change
10
Decomposition Structure
Hardware-Hiding Module Behavior-Hiding Module Software Decision Module
Application Data Type ModuleData Banker ModuleFilter Behavior ModulePhysical Models ModuleSoftware Utility ModuleSystem Generation Module
11
Uses Relation
Similar to "calls" relation Layers of what can call what:
• EC = Extended Computer at the bottom
• AT = Application Data Type Module
• DI = Device Interface Module
• FD = Function Driver Module
• SS = Shared Services Module
Allowed-to-use relation defined in advance to partition programming
Using procedure Used procedure
Extended Computer (none)
Device Interface EC.DATA, EC.PGM, ...
Air Data Computer Func. DB.DI.ADC, DI.ADC, ...
These two at the top
12
Layers Implied by Uses Relation
Function Driver, Shared Services
Software Utilities Physical Models, Filter Behavior,
Data Banker
Application Data Type
Extended Computer
13
Process Structure
Cooperating Sequential Processes synchronization via shared data
Types of processes: Function driver processes (for avionics):
• Periodic – run every 40 ms• Demand-driven – await a triggering event
Access procedure processes (less frequent):• Periodic – run every 100 ms – compute and store values• Procedures to get and use values when called
Offline scheduling – to run all this on single processor! Avoids scheduling decisions at runtime.
14
Process Consequences
The offline analysis possible from the process design let lots of scheduling be pre-determined (prior to runtime):Thread structure identifiedRe-entrant procedures identifiedMost-often invoked procedures identifiedMutual exclusion identified
top related