Software Architecture Session3

13
A-7E AVIONICS SYSTEM Session - 3

description

Software Architecture

Transcript of Software Architecture Session3

Page 1: Software Architecture Session3

A-7E AVIONICS SYSTEM

Session - 3

Page 2: Software Architecture Session3

A-7E Avionics System

• Architecture is focused on three structures:– Decomposition into modules– Uses :

• how the modules relate

– Process • components and connectors

01:43 PM 2SEPS ZG651 Software Architectures

Page 3: Software Architecture Session3

Decomposition

• Information hiding:– Also foundation to OO design, – Except information hiding modules are derived

by identifying expected changes over the system’s lifecycle

– A module may have sub modules

01:43 PM 3SEPS ZG651 Software Architectures

Page 4: Software Architecture Session3

Specific goals

• Simple enough to understand fully• Change one module without knowing or

impacting others• Most likely changes should be easiest• Possible to make major changes as a set of

independent changes to individual modules• If the interfaces are not changed, any

combination of old and new should run

01:43 PM 4SEPS ZG651 Software Architectures

Page 5: Software Architecture Session3

A-7E Module Decomposition Structure

• Architects observed that, in similar systems, changes tend to come from three areas:– Hardware– Required externally visible behavior– Decisions controlled by the developer

01:43 PM 5SEPS ZG651 Software Architectures

Page 6: Software Architecture Session3

Uses Structure

• Runtime execution information – the authoritative picture of how the software interacts

• Uses relation:– Procedure A is said to use procedure B if a

correctly functioning procedure B must be present in order for A to meet its requirements.

01:43 PM 6SEPS ZG651 Software Architectures

Page 7: Software Architecture Session3

Uses Relation

• Allows rapid identification of functional subsets

• The uses (allowed-to-use) structure is documented in a table – see Table 3.4 for an example

01:43 PM 7SEPS ZG651 Software Architectures

Page 8: Software Architecture Session3

Process Structure

• Implemented as a set of cooperating sequential processes that synchronize with each other to cooperatively use shared resources

• Pre-runtime scheduling produced a single executable thread

01:43 PM 8SEPS ZG651 Software Architectures

Page 9: Software Architecture Session3

Processes

• A set of programming steps that are repeated in response to a triggering event or to a timing constraint

• It has its own thread of control, and can suspend by waiting for an event

01:43 PM 9SEPS ZG651 Software Architectures

Page 10: Software Architecture Session3

A-7E Processes

• Written for two main purposes1. For the functional drivers to compute the

output values of the avionics software2. Less frequently, they can implement expensive

access procedures – continuously compute in the background, returning the most recent value when called

– See their conceptual structures on pp 63-64

01:43 PM 10SEPS ZG651 Software Architectures

Page 11: Software Architecture Session3

Processes

• Contains the “synchronizes-with” relation• Based on events that one process signals and one or

more processes await• Used as the primary input to the scheduling activity,

which includes deadlock avoidance• Process structure has two types of information:

– What procedures are included in each process, identifying threads and re-entrant requirements

– Which processes cannot execute simultaneously

01:43 PM 11SEPS ZG651 Software Architectures

Page 12: Software Architecture Session3

Summary

01:43 PM SEPS ZG651 Software Architectures 12

Page 13: Software Architecture Session3

01:43 PM 13SEPS ZG651 Software Architectures