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

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
1 What is Software Architecture? CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Tuesday, September 6, 2011 Right – In building trades.
Multiple Processor Systems
Architecture III Uses and Process Structures 1. Outline Lecture: –Design for extension and contraction: the “uses” structure –Design for run-time separation.
 An object-oriented program’s structure often bears little resemblance to its code structure.  The code structure is frozen at compile-time; it consists.
CSE 471/598, CBS 598 Intelligent Agents TIP We’re intelligent agents, aren’t we? Fall 2004.
Software Architecture for DSD DSD Team. Overview What is software architecture and why is it so important? The role of architecture in determining system.
Software Architecture for DSD
Celsius Tech Bass Ch 15 Lecture by a team from
CSE 471/598 Intelligent Agents TIP We’re intelligent agents, aren’t we? Spring 2004.
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
Software Architecture in Practice
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
1 Objective of today’s lesson S oftware engineering occurs as a consequence of a process called system engineering. Instead of concentrating solely on.
The Modular Structure of Complex Systems D.L. Parnas, P.C. Clement, and D.M. Weiss Published in IEEE Transactions on Software Engineering, March 1985 Presented.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 Case Study Automatic Test System for JPEG Encoder Decoder Cards Pair Lecture - 4.
Software Architecture for DSD The “Uses” Relation.
Slide 1 Flight Simulation – Ch 8 A Case Study in an Architecture for “Integrability” Boeing 747 flight simulator in action – from
What is Software Architecture?
1 Designing the Architecture CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Week 3, Day 1, Monday, September 19, 2011.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
What is Software Architecture? | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS Chapter 2, Authors: Len Bass, Paul,
1 Air Traffic Control Case Study CSSE 377 Software Architecture and Design 2 Steve Chenoweth, Rose-Hulman Institute Tuesday, October 5, 2010.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Advanced / Other Programming Models Sathish Vadhiyar.
David Weiss Software Product-Line Engineering: A Family-Based Software Development Process: Designing The Family David Weiss
CE Operating Systems Lecture 3 Overview of OS functions and structure.
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
1 CMPT 275 High Level Design Phase Modularization.
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Network Computing Laboratory A programming framework for Stream Synthesizing Service.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Designing Abstract Interfaces for Device Independency Designing Abstract Interfaces for Device Independency Review of A Procedure for Designing Abstract.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
CSE 471/598 Intelligent Agents TIP We’re intelligent agents, aren’t we?
Time Management.  Time management is concerned with OS facilities and services which measure real time.  These services include:  Keeping track of.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Third International Workshop on Networked Appliance 2001 SONA: Applying Mobile Agent to Networked Appliance Control S.Aoki, S.Makino, T.Okoshi J.Nakazawa.
Layers Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Achieving Critical System Qualities Through Software Architecture Dr. Stuart Faulk Computer and Information Science University of Oregon.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Lecture 4b Case Study A-7E Avionics System Topics Case Study Information Hiding, Cooperating Seq. Proc. In real-time embedded systems Architecture for.
A Framework for Nuclear Software (NuFA)
Lecture 4z Case Study A-7E Avionics System
7. Modular and structured design
Chapter 7: Modifiability
Operating System Structures
Operating System Structure
Software Architecture
Software Architecture
Chapter 11: Usability © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License.
Chapter 2: Database System Concepts and Architecture
CSCI 315 Operating Systems Design
TAL7011 – Lecture 2 Case Study of A-7E Avionics System
Software Architecture in Practice
I/O Systems I/O Hardware Application I/O Interface
Software Fundamentals
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Outline Chapter 2 (cont) OS Design OS structure
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Segments Introduction: slides minutes
From Use Cases to Implementation
Software Architecture
Presentation transcript:

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

2 Today A case history – this Ch 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

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

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

6 A-7E History Software Cost Reduction (SCR) Information hiding A-7E Project ( ) Requirements discovery Reference Architecture Software Architecture and Design Partial 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 gaps achieve separation of concerns help 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 Module Data Banker Module Filter Behavior Module Physical Models Module Software Utility Module System 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 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 Layers Implied by Uses Relation Function Driver, Shared Services Software UtilitiesPhysical 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 identified Re-entrant procedures identified Most-often invoked procedures identified Mutual exclusion identified