Lecture 4b Case Study A-7E Avionics System Topics Case Study Information Hiding, Cooperating Seq. Proc. In real-time embedded systems Architecture for.

Slides:



Advertisements
Similar presentations
Software Requirements Engineering
Advertisements

 An object-oriented program’s structure often bears little resemblance to its code structure.  The code structure is frozen at compile-time; it consists.
Software Architecture for DSD DSD Team. Overview What is software architecture and why is it so important? The role of architecture in determining system.
Chapter 13 Embedded Systems
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Designing the system Conceptual design and technical design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
SWE Introduction to Software Engineering
Memory Management, File Systems, I/O How Multiprogramming Issues Mesh ECEN 5043 Software Engineering of Multiprogram Systems University of Colorado, Boulder.
Chair of Software Engineering ATOT - Lecture 25, 30 June Advanced Topics in Object Technology Bertrand Meyer.
Establishing the overall structure of a software system
Course Introduction and Overview of Software Engineering Richard N. Taylor ICS 221 Fall 2002.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
CSC230 Software Design (Engineering)
Chapter 6: Architectural Design
Design, goal of design, design process in SE context, Process of design – Quality guidelines and attributes Evolution of software design process – Procedural,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 10 Architectural Design
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design. Recap Introduction to design Design models Characteristics of good design Design Concepts.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
An Introduction to Software Architecture
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
Architectural Design To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and distributed.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Some Software Engineering Principles by D. L. Parnas Presented by Team 7: Amitkumar Dhameja Cincy Francis Rong Gu CS575 - Software Design, Team 7.
David Weiss Software Product-Line Engineering: A Family-Based Software Development Process: Designing The Family David Weiss
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Elements of Software Analysis and Design - Structured Approaches - Structured Analysis - Functional Oriented Design 10/24/2015ICS 413 – Software Engineering1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Hardware-software Interface Xiaofeng Fan
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
1 A-7E Case Study CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Wk 1, Day 3.
Chapter 7: Architectural Design Chapter 11 in textbook 1.
CSC480 Software Engineering Lecture 10 September 25, 2002.
©Ian Sommerville, Robin Abraham 2004CS 361, Summer 2004 Slide 1 Architectural Design.
Designing Abstract Interfaces for Device Independency Designing Abstract Interfaces for Device Independency Review of A Procedure for Designing Abstract.
13-1 Chapter 13 Concurrency Topics Introduction Introduction to Subprogram-Level Concurrency Semaphores Monitors Message Passing Java Threads C# Threads.
Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec Lecture 33 Instructor: Bhuvan Urgaonkar.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Introduction to Operating Systems Concepts
Lecture 6z Case Study Interoperability
Lecture 4z Case Study A-7E Avionics System
CompSci 280 S Introduction to Software Development
Software Design Principles
IS301 – Software Engineering Dept of Computer Information Systems
Part 3 Design What does design mean in different fields?
Topic I Introduction to Computer Architecture and Organization
CSE 303 – Software Design and Architecture
GEOMATIKA UNIVERSITY COLLEGE CHAPTER 2 OPERATING SYSTEM PRINCIPLES
TAL7011 – Lecture 2 Case Study of A-7E Avionics System
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Software Architecture in Practice
CS223: Software Engineering
Architectural Design.
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
What is Concurrent Programming?
What is Concurrent Programming?
Chapter 13: I/O Systems.
Presentation transcript:

Lecture 4b Case Study A-7E Avionics System Topics Case Study Information Hiding, Cooperating Seq. Proc. In real-time embedded systems Architecture for the system June 2, 2016 CSCE 742 Software Architectures

– 2 – CSCE 742 Summer 2016 Architecture Deja Vu Rediscovering principles laid out a quarter of a century ago by Brooks, Dijkstra, Parnas Fred Brooks – 1969 “architecture” of a computer system as “conceptual view of a computer … as seen by the programmer” “Mythical Man-Month” essays on Software engineeringDijkstra old us to be concerned with modularity layered approach Parnas – foundational contributions to SE field Information hiding for maintainability and reusability 1972 Exception handling 1979 Viewing program as member of family; abstracting qualitites

– 3 – CSCE 742 Summer 2016 A-7E Avionics System Reference: Facts: 1965 introduced In 1992 final ones replaced by F/A-18 20mm gun and can carry payloads of up to 15,000 pounds of bombs and missiles 7E = pilot only version Cost - $2,860,000

– 4 – CSCE 742 Summer 2016 A-7E Avionics System System started in 1977 (pre-SA terminology) Software Engr. Group of Naval Research Lab To test Hypothesis that: information hiding and cooperative sequential processes were appropriate for high-performance embedded real-time systems Information hiding ( Parnas et al  OO) Cooperative sequential processes EW Dijkstra 1965, semaphores P and V operations

– 5 – CSCE 742 Summer 2016 Architecture Business Cycle A-7E Stakeholders navy aviators Developing Organization Naval Research lab Technical Environment OO information hiding Cooperating seq. proc. Real-time system Architect’s experience Academic Access to other avionics systems Requirements (Qualities) Modifiability Modifiability Performance Performance Architecture Module structure Uses structure Process structure System A-7E Avionics Architect

– 6 – CSCE 742 Summer 2016 A-7E Corsair Architecture Structures  Modular decomposition and information hiding  Uses: dependency  Processes: threads, schedules, synchronization, etc. Physical structure is not covered in chapter 3. These structures are largely independent and in fact orthogonal.

– 7 – CSCE 742 Summer 2016 Requirements: Situation Awareness Mission: carrier-based attack, ground-support Data input from sensors multiple sources of altitude, range, speed, position, weapons status Data output to pilot displays moving map, direction, distance, time to go, etc. head-up display: target, trajectory, navigation and weapon mode status, etc. lights, dials, audibles Pilot input mode select switches and keyboard target selection (lat/lon on keypad, map slew with “cone hat,” FLIR designation, HUD slew

– 8 – CSCE 742 Summer 2016 Quality Requirements Real-time performance and availability Embedded (“situated”) Modifiability Mission-critical, but not flight-critical “Hidden” Requirements as an R&D effort demonstrate advanced computer science software engineering methods information hiding for real-time, embedded systems »interface specification requirements documentation multiple architectural views publication of lessons learned

– 9 – CSCE 742 Summer 2016 Module Structure Divide into modules that can be developed independently then easily integrated Work Breakdown Structure; Module Guide no overlap or gaps separation of concerns inter-module dependency trace multi-level functional hierarchy issue: must get it right, early Module structure is the “anchor” architectureGoals each module is simple enough to be understood can change implementation of a module without knowledge of other modules easy to modify things that are expected to change large changes are a set of independent changes to individual modules

– 10 – CSCE 742 Summer 2016 Uses Structure Captures run-time dependency Procedure A uses Procedure B if a correctly functioning B must be present in order for A to meet its requirements e.g., procedure call e.g., write, then read shared memory or bus message e.g., raise an interrupt Defines transitive closure of functionally complete subsets Procedures are usually more fine-grained than modules

– 11 – CSCE 742 Summer 2016 Process Structure Anticipated multi-processor implementation Cooperating sequential processes synchronize use of shared resources off-line (fixed) schedule of steps in a thread triggered by event or a time clockProcesses compute system outputs periodic – 40 ms event-triggered pre-compute “expensive” outputs periodic – 100 ms “Executive” scheduler with merged independent processes

– 12 – CSCE 742 Summer 2016 Physical structure

– 13 – CSCE 742 Summer 2016 Module Decomposition View Hardware-Hiding Module Extended Computer Module Device Interface Module Behavior-Hiding Module Function-Driving Module Shared Services Module Software Decision Module Application Data Type Module Data Banker Module Filter Behavior Module Physical Models Module Software Utility Module System Generation Module See Figure 3.4, p. 59

– 14 – CSCE 742 Summer 2016 Module Specification Introduction Interface overview Access procedure table Events signaled Local types dictionary Dictionary Undesired event dictionary System generation parameters Interface design issues Implementation notes Assumption lists Accuracy, timing and efficiency guide

– 15 – CSCE 742 Summer 2016 Process Structure Mapping of procedures to process threads Identification of re-entrant procedures Identification of procedure service load Mutual exclusions Drove schedule executive design

– 16 – CSCE 742 Summer 2016 Coarse-grained data Flow (figure 3.5)

– 17 – CSCE 742 Summer 2016 Creating An Architecture Part Two of Readings book chapters “Beauty is in the eye of the beholder” Booth Tarkington (1838–1918). The Magnificent Ambersons So whose concept of “Quality” does the architect use? His/her own? Customer? Can’t we all just agree? (paraphrasing Rodney King) Can we move to a more objective less subjective def.? We will use quality attribute scenarios

– 18 – CSCE 742 Summer 2016 Understanding Quality Attributes

– 19 – CSCE 742 Summer 2016

– 20 – CSCE 742 Summer 2016

– 21 – CSCE 742 Summer 2016

– 22 – CSCE 742 Summer 2016

– 23 – CSCE 742 Summer 2016

– 24 – CSCE 742 Summer 2016

– 25 – CSCE 742 Summer 2016

– 26 – CSCE 742 Summer 2016

– 27 – CSCE 742 Summer 2016

– 28 – CSCE 742 Summer 2016

– 29 – CSCE 742 Summer 2016

– 30 – CSCE 742 Summer 2016

– 31 – CSCE 742 Summer 2016

– 32 – CSCE 742 Summer 2016