Project 13: Embraer Cockpit Instrumentation For FAA.

Slides:



Advertisements
Similar presentations
Inference without the Engine!. What is EZ-Xpert 3.0? EZ-Xpert is a Rapid Application Development (RAD) environment for creating fast and accurate rule-based.
Advertisements

Object Oriented Analysis And Design-IT0207 iiI Semester
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Documentation 1 Comprehending the present – Investing in the future.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
CSI 101 Elements of Computing Spring 2009 Lecture #2 Development Life Cycle of a Computer Application Monday January 26th, 2009.
Theatrical Lighting Design and Inventory Management System Architecture Presentation Presenters: Ed Morrison, Harikrishna Patel, Joshua Zawislak.
Interpret Application Specifications
CSC 395 – Software Engineering
Testing an individual module
Pencilvania: Architecture Review Presenters: Christopher Buska (Art Director) Michael Gourlay (Developer) Alfred Sterphone, III (Project Manager) Special.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Course Instructor: Aisha Azeem
System Implementation
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Chapter 10 Architectural Design
Work Package 6: Performance Specification Ian McCrea.
1 Shawlands Academy Higher Computing Software Development Unit.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
Rational Unified Process Fundamentals Module 4: Disciplines II.
An Introduction to Software Architecture
CSE 303 – Software Design and Architecture
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
By K Gopal Reddy.  Metrics in software are of two types.direct and indirect.  Function points as indirect metrics.  Function points are used to measure.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 9 Moving to Design
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
Systems Analysis and Design in a Changing World, 3rd Edition
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
MSE Presentation 1 By Padmaja Havaldar- Graduate Student Under the guidance of Dr. Daniel Andresen – Major Advisor Dr. Scott Deloach-Committee Member Dr.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
1 CMPT 275 High Level Design Phase Modularization.
The Software Development Process
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
CSC480 Software Engineering Lecture 10 September 25, 2002.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Development Life Cycle (SDLC)
Reconfigurable Communication Interface Between FASTER and RTSim Dec0907.
Systems Design.  Application Design  User Interface Design  Database Design.
1 Multimedia Development Team. 2 To discuss phases of MM production team members Multimedia I.
TIM 58 Chapter 7: Moving on to Design
Software Metrics 1.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Constructive Cost Model
COCOMO Model Basic.
Software life cycle models
Chapter 2: The Linux System Part 1
Chapter 5: Software effort estimation- part 2
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
Analysis models and design models
COCOMO Models.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 26 Estimation for Software Projects.
COCOMO MODEL.
Presentation transcript:

Project 13: Embraer Cockpit Instrumentation For FAA

Team Members

Project Summary ► The client is developing the flight dynamics for the Embraer 170/175 aircraft using the open source Flight Gear simulator. ► They need graphics software to simulate the functionality of the actual cockpit by simulating the gauges in the primary flight display (PFD), navigation display (NavDisplay), engine instruments (EICAS) display. Sample Embraer PFD

Architecture – Logical ► When our software executes, a user settings file will be loaded into the system. The file contains font path, Flight Gear NAV Data path, and display settings. ► Our software will use the setting to initialize the graphics engine (window size and NAV database) and launch the graphics loop. ► The three displays will be rendered. All displays are rendered based on the user settings and NAV Data. The NAV Data is updated every 1/24 of a second.

Architecture - Process ► Our project involves two major processes: Main Embraer Display process and Flight Gear Simulator process. ► The Main Embraer Display Process includes tasks such as rendering and parsing user setting and NAV data. ► The Flight Gear Simulator Process is used for user input (E.g. takeoff, landing, 360 degree spin, etc) so that the NAV data can be updated.

Architecture - Development ► From the development standpoint, our project consists of three major layers. ► Layer 1 handles object initializations, parsing user setting file and retrieve NAV Data. ► Layer 2 prepares graphics settings and render window. ► Layer 3 renders the three displays.

Architecture - Physical ► Our system can be run on two nodes. ► One node will be used for our Embraer Instrumentation Process. ► The Flight Gear Simulator Process will be run on a separate node since it’s an graphically intensive OpenGL application.

Architecture – Sample Use Case Scenario ► John configured our application to run on 1024 x 768 and set the Flight Gear NAV Data path. ► John started up our application and saw the three displays rendered. However, the NAV data stayed the same. ► John starts up Flight Gear Flight Simulator. He took off, set speed at 350 MPH, and turn left 90 degrees. ► The application receives the updated NAV data and render the displays to reflect the updated speed and heading. Actual Embraer Cockpit

Prototype

Reuse of Critical Components ► In order of importance  PFD (Critical Component) ► Reusing examples from the OpenGC artificial horizon example ► Reusing part of the OpenGC Nav. display as our “compass” sub section in our PFD  Nav. Display ► Unfortunately will have to be done almost from scratch.  Engine Display ► Parts of the engine display can be reused from existing OpenGC engine display, but are cosmetically different.

Performance ► Compiled under Visual Studio.NET 2003 ► PFD display took 0.3 seconds to render on an Intel Pentium 4 processor 2.8 MHZ with 512 MB of ram. ► Reused 60% of gauge components within the original OpenGC project. ► Stable releases of external library components are in use.

Design for Simplicity ► Fonts manager, RenderWindow, AppObject, and parts of gauge components from OpenGC are reused or slightly modified. ► Gauges use communicational cohesion, which operate from the same data source. ► Gauges also use data coupling, which is only simple data being passed between modules

Design for Maintainability ► Well-documented code ► External libraries are upgradeable within he project environment ► Low coupling between the PFD, NAV display, and Engine display gauges ► Informative error messages showing which method fails.

Design for Testability ► Our system has convenient interfaces to drive the execution and verification tests. ► Our system has been decomposed into components for processing of successive refinements. ► We’ve considered a high-level conceptual model in terms components and their interaction for developing a number of scenarios of anticipated changes and assessing the degree to which the architecture supports these changes, quality aspects like maintainability and flexibility may be tested at any early stage.

Design for Reliability ► Ideally we need to design to operate failure free. To do so we need to make sure:  We have accurate data input.  Transform the data properly. By examining the expected usage pattern of our system, we can identify which areas of concentration are needed for debugging. We expect the mean time between failures to be less than 100 hours.

Complexity Chart Problem Domain Architecture Complexity Logic Design – Data Logic Design – Code Complexity (Total / 18 ) * ( Type Factor ) Our Project 4 – Some calculations are difficult 2 – Architecture follows an existing pattern. Process design is straightforward. No HW/SW interfaces. 2 – Several data element types have straightforward relationships. No object classes have inheritance greater than 3. 3 – Well- structured small modules with low coupling. Object classes methods well focused and generalized. ( 11 / 18 ) * ( 10 ) = 6.1

Estimated SLOC Models Using the COCOMO II method developed at University of Southern California: Center for Computer Software Engineering ► Top Down Approach ► Function Point ► Internet Point ► Feature Point ► Capability Requirement

Labor Rates Used ► Strategist: $23.97 ► Analyst: $17.05 ► Designer: $14.38 ► Programmer: $18.82 ► Test/QA: $18.00 ► Copywriter: $15.09 ► Art/Media: $17.63 ► Management: $24.00 From the Educational Development Department of California Avr. Salary Per Hour (Aprox. for Test/QA and Management)

Schedule by Method

Cost by Estimation

Given the Avr. Cost Expected

Labor Category Breakdown by Phase

Support Calls

Function Points ► Calculation: ► # input types> 1 ► # output types> 2 ► # inquiry types> 1 ► # logical internal files> 1 ► # interfaces> 2 ► UFP = 4I + 5O + 4E + 10L + 7F ► ► = 42(Originally 49) ► DI = I + O + E + L + F ► = 7 ► TCF = DI ► = 0.72 ► FP = UFP x TCF ► = 30.2 Function Points (Originally 35)

COCOMO (1/2) ► Effort in staff months = b * KDLOC c ► b = 2.4 and c = 1.05; these are constants determined by project size, innovation, deadline, and constraints ► KDLOC: thousands of lines of delivered source code (not including comments or unmodified third party code)

COCOMO (2/2) SIZEINNOVATIONDEADLINECONSTRAINTS OrganicSmallLittleNot tightStable Semi-detachedMedium EmbeddedLargeGreaterTightComplex hdw/customer interfaces = 6 and 1/4 student months (based on re-evaluated approximation of 2500 lines) Bc Organic Semi-detached Embedded

QFD Goals/FeaturesInterface with FlightGear open source simulator Utilize OpenGC glass cockpit software Model a full 3D cockpit Provide an exact and realistic simulation of the physical cockpit Ensure a low response time for instrumentation (representing physical situation of aircraft) Allow for extensibility

ICED-T ► Intuitive: The Embraer designers dealt with the intuitiveness of the cockpit itself, but the virtual implementation must be able to match the intuitiveness of the actual thing. ► Consistent: It is highly important that the virtual cockpit be consistent with the actual Embraer ERJ cockpit. However, the team was unable to obtain a manual for the Honeywell Epic Display system. As a result, the project will be based on the Regional Jet Display demos at Project Magenta’s website and various pictures found on the internet. ► Efficient: Flow of information must be constant. Changing modes in displays must take < one second. ► Durable: Inherently compromised since part of the total package employs alpha and beta version software. ► Thoughtful: Project is an implementation of an existing design, rather than an entirely new cockpit created from scratch. IntuitiveConsistentEfficientDurableThoughtful 34432

Current Schedule Milestones: PFD NAV EICAS

Any Questions?