Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.

Slides:



Advertisements
Similar presentations
The Modular Structure of Complex Systems Team 3 Nupur Choudhary Aparna Nanjappa Mark Zeits.
Advertisements

Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
Sonar and Localization LMICSE Workshop June , 2005 Alma College.
Classes and Object- Oriented... tMyn1 Classes and Object-Oriented Programming The essence of object-oriented programming is that you write programs in.
 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.
Software Architecture for DSD
Instructor: Tasneem Darwish
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
Chapter 1 Introduction to Object- Oriented Programming and Problem Solving.
1 Objectives To introduces the concept of software Design. To introduce the concept of Object- Oriented Design (OOD). To Define various aspects about object.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Chapter 1: Introduction
Program Development and Programming Languages
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
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.
Data Processing Equipment
CSC230 Software Design (Engineering)
Use of FOS for Airborne Radar Target Detection of other Aircraft Example PDS Presentation for EEE 455 / 457 Preliminary Design Specification Presentation.
Aerospace Engineering By Patrick Ferrell. Aerospace Engineering is the main branch of engineering concerned with the research, design, development, construction,
1 Case Study Automatic Test System for JPEG Encoder Decoder Cards Pair Lecture - 4.
Object-Oriented Analysis and Design
Applied Transportation Analysis ITS Application SCATS.
Systems Analysis and Design in a Changing World, Fifth Edition
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
“Enhancing Reuse with Information Hiding” ITT Proceedings of the Workshop on Reusability in Programming, 1983 Reprinted in Software Reusability, Volume.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Guidelines for the Development and Maintenance of RTF- Approved Measure Savings Estimates December 7, 2010 Regional Technical Forum Presented by: Michael.
The Architecture Business Cycle. Software Architecture Definition The software architecture of a program or computing system is the structure or structures.
Architecture Business Cycle
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Requirement engineering.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
SOFTWARE DESIGN.
Software Design Deriving a solution which satisfies software requirements.
SE: CHAPTER 7 Writing The Program
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Lesson Overview 3.1 Components of the DBMS 3.1 Components of the DBMS 3.2 Components of The Database Application 3.2 Components of The Database Application.
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Requirement engineering.
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Concurrent and.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Software Design Process
1 A-7E Case Study CSSE 477 Software Architecture Steve Chenoweth, Rose-Hulman Institute Wk 1, Day 3.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Lecture 4: Global Positioning System (GPS)
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
General Avionics Software Specification Paper by: C. Douglass Locke, David R. Vogel, Lee Lucas, John B. Goodenough Presented by: Jeremy Erickson August.
Basic Characteristics of Object-Oriented Systems
Lecture 4b Case Study A-7E Avionics System Topics Case Study Information Hiding, Cooperating Seq. Proc. In real-time embedded systems Architecture for.
Lecture 4z Case Study A-7E Avionics System
Design and Implementation
Chapter 2: Database System Concepts and Architecture
TAL7011 – Lecture 2 Case Study of A-7E Avionics System
Software Architecture in Practice
Software Design Principles
Presentation transcript:

Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems Architecture A-7E Avionic System: A Case Study in Utilizing Architectural Structures

Instructor: Tasneem Darwish2 Outlines  Relationship to the Architecture Business Cycle  Requirements and Qualities  Architecture for the A-7E Avionics System

Instructor: Tasneem Darwish3 Relationship to the ABC  The figure shows the ABC as it pertains to the A-7E avionics system described in this chapter.  The system was constructed beginning in 1977 for the naval aviators who flew the A-7E aircraft and was paid for by the U.S. Navy. The developing organization was the software engineering group at the U.S. Naval Research Laboratory

Instructor: Tasneem Darwish4 Requirements and qualities  The figure shows the A-7E Corsair II.  It is a single-seat, carrier-based attack aircraft used by the U.S. Navy throughout the 1960s, 1970s, and 1980s.  An earlier version, the A-7C, was among the very first production aircraft in the world to be equipped with an onboard computer to help the pilot with navigation and "weapon delivery"

Instructor: Tasneem Darwish5 Requirements and qualities  The A-7E's onboard computer is a small, special- purpose IBM machine for which no compiler exists;  programming is in assembly language only.  The computer has special registers connected to analog- to-digital and digital-to-analog converters that let it receive and send data to almost two dozen devices in the aircraft's avionics suite.  In broad terms, the A-7E software is responsible for reading sensors and updating cockpit displays that help the pilot drop weapons on a target.  The A-7E software does not actually fly the aircraft, as more modern avionics systems do.

Instructor: Tasneem Darwish6 Requirements and qualities  The following are the primary sensors the software reads and manages: 1.An air probe that measures barometric pressure and air speed 2.A forward-looking radar that returns the straight-line range to the point on the ground at which it is pointed. 3.A Doppler radar that reports ground speed and drift angle 4.An inertial measurement set (IMS) that reports accelerations along each of three orthogonal axes 5.An interface to the aircraft carrier's inertial measurement system, through which the aircraft can compute its current position while on board a ship

Instructor: Tasneem Darwish7 Requirements and qualities  The following are the primary sensors the software reads and manages: 6.Sensors that report which of the A-7E's six under wing bomb racks hold weapons and which of more than 100 kinds of weapons in the aircraft's repertoire they are 7.A radar altimeter that measures the distance to the ground

Instructor: Tasneem Darwish8 Requirements and qualities  The pilot communicates the location of a ground target to the software in a number of ways: 1.Keying in its latitude and longitude via the keypad 2.slewing the map using a joystick until its coordinates are under the center crosshairs and then "designating" it by pushing a special button on the control stick 3.Aiming the forward-looking radar to the point and designating it  The software then provides navigational information (direction, distance, time to go) and directional indication on the heads-up display that take the aircraft to the designated location.

Instructor: Tasneem Darwish9 Requirements and qualities  The pilot can choose from over two dozen direction- finding modes, based on which sensors are most reliable under the conditions of the moment.  The software has at least five direct and indirect ways to calculate the aircraft's current altitude.  There are more than 20 weapon delivery modes, all demanding in terms of the real-time calculations (repeated 25 times every second) necessary to maintain the A-7E's bombing accuracy.

Instructor: Tasneem Darwish10 Requirements and qualities

Instructor: Tasneem Darwish11 Architecture for the A-7E Avionics system  The architecture for the A-7E avionics system is centred around three architectural structures 1.Decomposition, a structure of modules 2.Uses, a structure of modules 3.Process, a structure of components and connectors

Instructor: Tasneem Darwish12 DECOMPOSITION STRUCTURE  we must think how the work will be divided into units that can be implemented separately and how those modules will interact.  The unit of the decomposition structure is the module.  A module may be thought of as defining a group of procedures plus a set of private data structures.  The relation among modules in the decomposition structure is "is-a-submodule-of" or "shares-a-secret- with."

Instructor: Tasneem Darwish13 DECOMPOSITION STRUCTURE  Prior to 1977, performance was the overriding goal of embedded systems.  The goal of the A-7E designers was to balance performance with modifiability and demonstrate that it was possible to achieve modifiability without compromising performance.

Instructor: Tasneem Darwish14 DECOMPOSITION STRUCTURE  The A-7E module decomposition is based on information hiding  information hiding works by encapsulating system details that are likely to change independently in different modules  The interface of a module reveals only those aspects considered unlikely to change;

Instructor: Tasneem Darwish15 DECOMPOSITION STRUCTURE  For example, if a device such as an aircraft altitude sensor is likely to be replaced over the life of an avionics program.  the information-hiding principle makes the details of interacting with that device the secret of one module.  The interface to the module consist perhaps of a single program that returns the most recent value measured by the sensor.  because all replacement sensors probably share this capability. If the sensor is ever replaced, only the internal parts of that module need to change; the rest of the software is unaffected.

Instructor: Tasneem Darwish16 DECOMPOSITION STRUCTURE  Information hiding is enforced by requiring that modules interact only via a defined set of public facilities (their interfaces).  Each module provides a set of access procedures, which may be called by any other module in the system.   The access procedures provide the only inter-module means for interacting with information encapsulated in a module

Instructor: Tasneem Darwish17 DECOMPOSITION STRUCTURE  A module may consist of submodules, or it may be considered a single implementation unit.  If it contains submodules, a guide to its substructure is provided.  The decomposition into submodules and their design is continued until each module is small enough to be discarded and begun again if the programmer assigned to it leaves the project.

Instructor: Tasneem Darwish18 DECOMPOSITION STRUCTURE  Specific goals of module decomposition are as follows: 1.Each module's structure should be simple enough to be understood fully. 2.It should be possible to change the implementation of one module without knowledge of the implementation of other modules and without affecting the behaviour of other modules. 3.The ease of making a change in the design should bear a reasonable relationship to the likelihood of the change being needed. Only very unlikely changes should require changes in the interfaces of widely used modules. 4.It should be possible to make a major software change as a set of independent changes to individual modules

Instructor: Tasneem Darwish19 DECOMPOSITION STRUCTURE  The documentation of the decomposition structure is sometimes called a module guide.  It defines the responsibilities of each of the modules.  Its purpose is to avoid duplication and gaps, to achieve separation of concerns, and, most of all, to help a maintainer find out which modules are affected by a problem report or change request.

Instructor: Tasneem Darwish20 DECOMPOSITION STRUCTURE  The guide states the criteria used to assign a particular responsibility to a module  The guide arranges the modules in such a way that we can find the necessary information without searching through unrelated documentation.  The guide does not describe any runtime relationship among the modules:  It doesn't talk about how modules interact with each other while the system is executing; it simply describes a design-time relationship among the implementation units that constitute the design phase of a project.