Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 A-7E Case Study CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Wk 1, Day 3.

Similar presentations


Presentation on theme: "1 A-7E Case Study CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Wk 1, Day 3."— Presentation transcript:

1 1 A-7E Case Study CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Wk 1, Day 3

2 2 Today A case history – this Ch 3 in Bass, et al. Time to work on Project 1 in class.

3 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/ljb/, http://www.sei.cmu.edu/staff/clements/,http://www.sei.cmu.edu/staff/clements/ http://www.sei.cmu.edu/staff/rkazman/http://www.sei.cmu.edu/staff/rkazman/.

4 4 Outline History of A-7E Project Decomposition Structure Uses Relation Process Structure

5 5 Naval Research Laboratory David Parnas Paul Clements David Weiss Kathryn Britton

6 6 A-7E History Software Cost Reduction (SCR) Information hiding A-7E Project (1977 - 1987) Requirements discovery Reference Architecture Software Architecture and Design Partial implementation

7 7 A-7E Avionics Sensors air probe radar Displays map heads-up Input joystick keypad

8 8 Module Guide Provides decomposition structure of software architecture Describes information hiding modules Purposes: avoid duplication and gaps achieve separation of concerns help maintainer find modules affected by a change request

9 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 10 Decomposition Structure Hardware-Hiding Module Behavior-Hiding Module Software Decision Module Application Data Type Module Data Banker Module Filter Behavior Module Physical Models Module Software Utility Module System Generation Module

11 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 procedureUsed procedure Extended Computer(none) Device InterfaceEC.DATA, EC.PGM,... Air Data Computer Func.DB.DI.ADC, DI.ADC,... These two at the top

12 12 Layers Implied by Uses Relation Function Driver, Shared Services Software UtilitiesPhysical Models, Filter Behavior, Data Banker Application Data Type Extended Computer

13 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 14 Process Consequences The offline analysis possible from the process design let lots of scheduling be pre-determined (prior to runtime): Thread structure identified Re-entrant procedures identified Most-often invoked procedures identified Mutual exclusion identified


Download ppt "1 A-7E Case Study CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Wk 1, Day 3."

Similar presentations


Ads by Google