Software Technical Report
Total Page:16
File Type:pdf, Size:1020Kb
A Technical History of the SEI Larry Druffel January 2017 SPECIAL REPORT CMU/SEI-2016-SR-027 SEI Director’s Office Distribution Statement A: Approved for Public Release; Distribution is Unlimited http://www.sei.cmu.edu Copyright 2016 Carnegie Mellon University This material is based upon work funded and supported by the Department of Defense under Contract No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineer- ing Institute, a federally funded research and development center. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the United States Department of Defense. References herein to any specific commercial product, process, or service by trade name, trade mark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by Carnegie Mellon University or its Software Engineering Institute. This report was prepared for the SEI Administrative Agent AFLCMC/PZM 20 Schilling Circle, Bldg 1305, 3rd floor Hanscom AFB, MA 01731-2125 NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT. [Distribution Statement A] This material has been approved for public release and unlimited distribu- tion. Please see Copyright notice for non-US Government use and distribution. Internal use:* Permission to reproduce this material and to prepare derivative works from this material for internal use is granted, provided the copyright and “No Warranty” statements are included with all reproductions and derivative works. External use:* This material may be reproduced in its entirety, without modification, and freely distrib- uted in written or electronic form without requesting formal permission. Permission is required for any other external and/or commercial use. Requests for permission should be directed to the Software En- gineering Institute at [email protected]. * These restrictions do not apply to U.S. government entities. Architecture Tradeoff Analysis Method®,ATAM®, Carnegie Mellon®, CERT®,CERT Coordination Center®, FloCon® and OCTAVE® are registered marks of Carnegie Mellon University. COTS Usage Risk EvaluationSM, CURESM, EPICSM, Evolutionary Process for Integrating COTS-Based SystemsSM, Framework for Software Product Line PracticeSM, IDEALSM, Interim ProfileSM, OARSM, Operationally Critical ThreatSM, AssetSM, and Vulnerability EvaluationSM, Options Analysis for Reen- gineeringSM, Personal Software ProcessSM, PLQLSM, PLTPSM, Product Line Quick LookSM, Product Line Technical ProbeSM, PSPSM, SCESM, SEPGSM, SoS NavigatorSM, T-CheckSM, Team Software Pro- cessSM and TSPSM are service marks of Carnegie Mellon University. DM-0003942 Table of Contents Foreword xi Preface xix Abstract xxi 1 Introduction 1 Introduction 3 The DoD Software Environment in 1984 Motivated Formation of the SEI 3 SEI Charter—Improve the State of the Practice of Software Engineering 4 Software Engineering Context into Which SEI was Formed and Evolved 6 The SEI Began by Interpreting the Charter and Developing a Technical Strategy 6 Interpreting the Charter 7 Evolution of the Effort Composition Was Driven by Experience and Guidance from the Principal Sponsor 8 The SEI Proposes Work Based on an Evolving Technical Strategy 11 Mechanisms for Engaging the Community 12 References 13 2 Real-Time Embedded Systems Engineering 15 Introduction to Real-Time Embedded and Cyber-Physical Systems 19 The SEI Contributed to Early DoD Ada Adoption Effort for Real-Time Embedded Systems 19 The SEI Provided an Engineering Basis for Real-Time Systems Development 21 SEI Research Included Software for Parallel Hardware Architectures 22 The SEI Developed Analytic Techniques and Supporting Tools for Engineering Real-Time Systems 22 SEI Contributions to Standards 24 Summary 25 References 25 Ada/Real-Time Embedded Systems Testbed 27 The Challenge: Evaluating Runtime Performance on Embedded Processors 27 A Solution: A Testbed for Real-Time Performance Evaluation 27 The Consequence: Empirical Results for Runtime Performance Hypotheses 28 The SEI Contribution 29 References 29 Distributed Ada Real-Time Kernel 31 The Challenge: Provide Consistent Support for Ada in Real-Time Systems 31 A Solution: A Distributed Ada Real-Time Kernel 31 The Consequence: A Prototype Demonstration 31 The SEI Contribution 32 References 32 Ada Adoption Handbook 33 The Challenge: Where and When to Adopt Use of the Ada Language 33 A Solution: The Ada Adoption Handbook 33 The Consequence: Unbiased Guidance 34 The SEI Contribution 34 References 34 Rate Monotonic Analysis 36 The Challenge: Predicting Real-Time Systems’ Ability to Meet Performance Deadlines 36 CMU/SEI-2016-SR-027 | SOFTWARE ENGINEERING INSTITUTE | CARNEGIE MELLON UNIVERSITY i Distribution Statement A: Approved for Public Release; Distribution is Unlimited A Solution: Rate Monotonic Analysis 36 The Consequence: Engineering Replaces Art 37 The SEI Contribution 38 References 39 Simplex Architecture 40 The Challenge: Ensuring the Integrity of Safety-Critical Systems 40 A Solution: The Simplex Architecture 40 The Consequence: Increased Reliability of Safety-Critical Systems 41 The SEI Contribution 41 References 42 Software for Heterogeneous Machines 43 The Challenge: Meeting Performance Goals for Real-Time Applications Involving Heterogeneous Machines 43 A Solution: Software for Heterogeneous Machines (Durra) 43 The Consequence: Successful Demonstration in Prototype Systems 44 The SEI Contribution 44 References 44 Real-Time Multicore Scheduling 46 The Challenge: Taking Advantage of Multicore Chips 46 A Solution: Real-Time Scheduling for Multicore Processors 46 The Consequence: Effective Use of Multicore Processors 47 The SEI Contribution 48 References 48 Integrated Methods for Predictive Analytic Composition and Tradeoff 50 The Challenge: Effective Real-Time Performance in Dynamic Environments 50 A Solution: Development of Analytic Methods 50 The Consequence: Bringing an Analytic Basis to Engineering Dynamic Systems 52 The SEI Contribution 52 References 53 Architecting Software-Reliant, Safety-Critical Systems with SAE AADL 54 The Challenge: Reducing Faults in Safety-Critical Defense Systems 54 A Solution: SAE Architecture Analysis & Design Language (AADL) 54 The Consequence: Architecture-Centric Engineering Beyond Documentation 55 The SEI Contribution 56 References 56 3 Education and Training 57 Introduction to Education and Training 60 Academic Curricula 60 Curricula Transition 62 Professional Education and Training 63 Evolution of Instructional Delivery Based on Technology Advancements 64 References 64 Model Curriculum for Master of Software Engineering Degree 66 The Challenge: The Need for a Standard Software Engineering Curriculum 66 A Solution: Creation of the SEI Master of Software Engineering Curriculum Guidelines 66 The Consequence: New Academic Programs Established 67 The SEI Contribution 67 References 67 Undergraduate Software Engineering Curriculum 69 The Challenge: Lack of Curriculum Guidance for Undergraduate Software Engineering Education 69 A Solution: Development and Dissemination of Curriculum Guidance 69 CMU/SEI-2016-SR-027 | SOFTWARE ENGINEERING INSTITUTE | CARNEGIE MELLON UNIVERSITY ii Distribution Statement A: Approved for Public Release; Distribution is Unlimited The Consequence: Undergraduate Software Engineering Programs Established 70 The SEI Contribution 71 References 71 Software Assurance Curriculum for Colleges and Universities 73 The Challenge: Demand for Software Assurance Expertise 73 A Solution: Educate Future Practitioners 73 The Consequence: More Well-Qualified Software Assurance Professionals 74 The SEI Contribution 75 References 75 Survivability and Information Assurance Education for System Administrators 77 The Challenge: Adapting System Administration to the Unexpected and to Business 77 A Solution: Survivability and Information Assurance Curriculum 77 The Consequence: System Administrators Who Support the Business Mission 78 The SEI Contribution 78 References 79 Conference on Software Engineering Education and Training 80 The Challenge: A Forum for Software Engineering Education Advances and Collaboration 80 A Solution: The Premier Conference on Software Engineering Education 80 The Consequence: Growth of Conferences and Tracks on Software Engineering Education 81 The SEI Contribution 81 References 82 CMU Master of Software Engineering Program 83 The Challenge: The Need for a Strong Academic Software Engineering Program 83 A Solution: Creation of the CMU Master of Software Engineering Program 83 The Consequence: New Academic Programs Established 84 The SEI Contribution 84 References 84 Executive Education Program 85 The Challenge: Effectively Managing Software Systems 85 A Solution: Executive Education Program 85 The Consequence: Improved Management by Executives 86 The SEI Contribution 86 References 86 Professional Training 87 The Challenge: Providing High-Quality Training to Software Practitioners 87 A Solution: Quality Assurance for SEI Training Products 87 The Consequence: