Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Software Architecture Session3

423 views

Published on

Software Architecture

Published in: Software
  • Be the first to comment

  • Be the first to like this

Software Architecture Session3

  1. 1. A-7E AVIONICS SYSTEM Session - 3
  2. 2. A-7E Avionics System • Architecture is focused on three structures: – Decomposition into modules – Uses : • how the modules relate – Process • components and connectors 9:33 AM SEPS ZG651 Software Architectures 2
  3. 3. 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 9:33 AM SEPS ZG651 Software Architectures 3
  4. 4. 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 9:33 AM SEPS ZG651 Software Architectures 4
  5. 5. 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 9:33 AM SEPS ZG651 Software Architectures 5
  6. 6. 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. 9:33 AM SEPS ZG651 Software Architectures 6
  7. 7. 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 9:33 AM SEPS ZG651 Software Architectures 7
  8. 8. 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 9:33 AM SEPS ZG651 Software Architectures 8
  9. 9. 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 9:33 AM SEPS ZG651 Software Architectures 9
  10. 10. A-7E Processes • Written for two main purposes 1. For the functional drivers to compute the output values of the avionics software 2. 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 9:33 AM SEPS ZG651 Software Architectures 10
  11. 11. 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 9:33 AM SEPS ZG651 Software Architectures 11
  12. 12. Summary 9:33 AM SEPS ZG651 Software Architectures 12
  13. 13. 9:33 AM SEPS ZG651 Software Architectures 13

×