Software Architecture Session3
-
Upload
swapnil-kulkarni -
Category
Software
-
view
80 -
download
1
description
Transcript of Software Architecture Session3
A-7E AVIONICS SYSTEM
Session - 3
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
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
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
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
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
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
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
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
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
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
Summary
01:43 PM SEPS ZG651 Software Architectures 12
01:43 PM 13SEPS ZG651 Software Architectures