Paul E. Sollock1 FOUR DECADES OF EVOLUTION TOWARD FLEXIWARE ( From the perspective of an Apollo, Shuttle, ISS and Shuttle Upgrades Veteran) Definitions.

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

Technology Module: Technology Readiness Levels (TRLs) Space Systems Engineering, version 1.0 SOURCE INFORMATION: The material contained in this lecture.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Systems Analysis, Prototyping and Iteration Systems Analysis.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Chapter 2 – Software Processes
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
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.
Chapter 6 User Protections in OS. csci5233 computer security & integrity (Chap. 6) 2 Outline User-level protections 1.Memory protection 2.Control of access.
Unified theory of software evolution Reengineering – Business process reengineering and software reengineering BPR model – Business definition, process.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Where Do the 7 layers “fit”? Or, where is the dividing line between hdw & s/w? ? ?
Chapter 01 Introduction Chapter 0 Introduction. Chapter 02 History of Computing - Early Computers Abacus (ancient orient, still in use) Slide rule (17C,
Software Evolution Managing the processes of software system change
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
1 SYSTEM and MODULE DESIGN Elements and Definitions.
Target Control Electronics Upgrade 08/01/2009 J. Leaver P. Smith.
Notion of a Project Notes from OOSE Slides - modified.
Database System Development Lifecycle Transparencies
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Software Life Cycle Model
The Origin of the VM/370 Time-sharing system Presented by Niranjan Soundararajan.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
The Pursuit for Efficient S/C Design The Stanford Small Sat Challenge: –Learn system engineering processes –Design, build, test, and fly a CubeSat project.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
HW/SW/FW Allocation – Page 1 of 14CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Allocation of Hardware, Software, and Firmware.
ISA 562 Internet Security Theory & Practice
. Traffic Flow Management System Benefits Flexibility for Future Growth: TFMS provides a modern software architecture to meet future growth and support.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
MAPLDDesign Integrity Concepts You Mean We’re Still Working On It? Sustaining a Design.
J. Christiansen, CERN - EP/MIC
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
0/13 Introduction to Programmable Logic Devices Aleksandra Kovacevic Veljko Milutinovic
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Click to add text Systems Analysis, Prototyping and Iteration.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Software Development Life Cycle (SDLC)
Basic Logic Functions Chapter 2 Subject: Digital System Year: 2009.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Operating Systems COT 4600 – Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: W, F 3:00-4:00 PM.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Software Design. Introduction Designing engineering encompasses the set of principles concepts and practices that lead to the development of a high quality.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
1 Security Architecture and Designs  Security Architecture Description and benefits  Definition of Trusted Computing Base (TCB)  System level and Enterprise.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
Computer Architecture Furkan Rabee
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Advanced Software Engineering Dr. Cheng
Modularity Most useful abstractions an OS wants to offer can’t be directly realized by hardware Modularity is one technique the OS uses to provide better.
Team Name: OCD Solutions
Software Quality Engineering
Software Life Cycle Models
Software Processes.
Introduction to Programmable Logic Devices
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software and Software Engineering
PLANNING A SECURE BASELINE INSTALLATION
Chapter 2 Operating System Overview
Presentation transcript:

Paul E. Sollock1 FOUR DECADES OF EVOLUTION TOWARD FLEXIWARE ( From the perspective of an Apollo, Shuttle, ISS and Shuttle Upgrades Veteran) Definitions Flexiware: My term for an idealized amorphous melding of code and electronic devices which enable a Flight Computer System to readily incorporate design changes necessary to meet changes in functional and performance requirements. Flight Computer System: The integrated set of HW and SW which provides real time data I/O, processing and error protection in support of vehicle systems. Note the I/O includes User Interfaces, onboard and/or elsewhere.

Paul E. Sollock2 FIRST GENERATION DIGITAL FLIGHT COMPUTERS (1960s) The Hardware and Software used in the first generation of digital flight computers (1960s) were very accurate descriptions of “how” a computer could accommodate changing requirements. –Hardware components were stacked into sealed, encapsulated modules like “cordwood” –By contrast, Software was “hand-crafted” by skilled artisans who practically “memorize” their code and could readily tweak it upon request.

Paul E. Sollock3 SECOND GENERATION DIGITAL FLIGHT COMPUTER SYSTEMS (1970s) With the inception of ICs and PROMS, Hardware became slightly less difficult to change –Instruction Set tweaks by PROM R/R, a.k.a. Firmware change. –Minor HW logic changes by delicate placement of “softwires” on multilayer circuit cards Conversely, Software became harder to change –Increases in size and complexity (to meet increased scope of applications) moved it beyond the domain of (most) artisans –Memory limitations frequently prevented ideal “structure” and modular design Increasing scope and complexity of vehicles, and mission requirements, increased risk of requirements errors and/or requirements creep. Management of HW and/or SW changes in concert with ongoing system development/verification became a critical element of Project success. This above situation prompted 2 signs to appear on my Boss’s office wall: –“Better is the Enemy of Good” –“The more innocuous the design change, the more far-reaching the consequences”

Paul E. Sollock4 THIRD GENERATION FLIGHT COMPUTER SYSTEMS 1980s Increasing density of ICs and early Gate Array devices provided limited additional means for hardware design modifications –Firmware designation extended to include Programmable Gate Array Devices –Space Radiation Effects became a significant consideration in selection of EEE Parts Application of Software Engineering principles, in conjunction with increased memory capacity, did allow SW designs which accommodated incremental change traffic. However, while technology advances in HW and SW offer the potential for increased capabilities, our ability to generate correct, and stable, requirements did not increase commensurately. The quotes on my boss’s wall may have faded, but they were still proven correct more than once.

Paul E. Sollock5 FOURTH GENERATION FLIGHT COMPUTER SYSTEMS ((1990s to present) Hardware device technology (FPGA, etc) has evolved such that HW (re)design flexibility is an essential element in early prototyping—to the point of offering alternative implementations once allocated to SW. –Mitigation of space radiation effects has become (arguably) the predominant influence on EEE parts selection and overall FCS architecture. Conversely, utilization of COTS Software for OS, and other, functions effectively limits SW (re)design flexibility in areas that were once the province of SW artisans. In 40 years, the classical distinction between Hardware and Software has become increasingly blurred. The net result is increased design flexibility that should be exploited for early prototyping. Today’s increasingly complex systems demand thorough and detailed prototyping to ensure (1) correct and complete requirements and (2) a HW/SW implementation capable of meeting all those requirements.