Developing and Securing Software for Small Space Systems

Total Page:16

File Type:pdf, Size:1020Kb

Developing and Securing Software for Small Space Systems Utah State University DigitalCommons@USU All Graduate Theses and Dissertations Graduate Studies 8-2019 Developing and Securing Software for Small Space Systems Brandon L. Shirley Utah State University Follow this and additional works at: https://digitalcommons.usu.edu/etd Part of the Computer Sciences Commons Recommended Citation Shirley, Brandon L., "Developing and Securing Software for Small Space Systems" (2019). All Graduate Theses and Dissertations. 7544. https://digitalcommons.usu.edu/etd/7544 This Dissertation is brought to you for free and open access by the Graduate Studies at DigitalCommons@USU. It has been accepted for inclusion in All Graduate Theses and Dissertations by an authorized administrator of DigitalCommons@USU. For more information, please contact [email protected]. DEVELOPING AND SECURING SOFTWARE FOR SMALL SPACE SYSTEMS by Brandon L. Shirley A dissertation submitted in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY in Computer Science Approved: Stephen W. Clyde, Ph.D. David E. Brown, Ph.D. Major Professor Committee Member Curtis E. Dyreson, Ph.D. Chad D. Mano, Ph.D. Committee Member Committee Member Dan W. Watson, Ph.D. Richard S. Inouye, Ph.D. Committee Member Vice Provost for Graduate Studies UTAH STATE UNIVERSITY Logan, Utah 2019 ii Copyright © Brandon L. Shirley 2019 All Rights Reserved iii ABSTRACT Developing and Securing Software For Small Space Systems by Brandon L. Shirley, Doctor of Philosophy Utah State University, 2019 Major Professor: Stephen W. Clyde, Ph.D. Department: Computer Science This research addresses two problems associated with developing smaller multi-vendor satellites for Small Space. These two problems interrelate and this research addresses them together. The Development Problem deals with the development of modular, reusable, and secure space systems while the Security Problem encompasses securing these space systems. This research addresses the Development Problem by conducting a series of five surveys, referred to as Space Industry Software Development Practices and Attitudes (SISDPA), to asses current attitudes and state of practice among space system developers. This crys- tallized a need in space system development | modular reusable open networks can help Small Space realize its potential, but there is still a need to address certain security threats. This research addresses the Security Problem by creating Secured Space Plug-and-Play Services Manager (SSSM), a secure modular reusable open-network software development framework based off of Space Plug-and-Play Services Manager (SSM). SSSM adds security provisions while minimizing the impact on developers using the framework. An evaluation of SSSM shows that it preserves the ease-of-use of SSM while adding policy enforcement in the form of authentication, access control, and encryption provisions. (284 pages) iv PUBLIC ABSTRACT Developing and Securing Software For Small Space Systems Brandon L. Shirley The space systems industry is moving towards smaller multi-vendor satellites, known as Small Space. This shift is driven by economic and technological factors that necessitate hardware and software components that are modular, reusable, and secure. This research addresses two problems associated with the development of modular, reusable, and secure space systems: developing software for space systems (the Development Problem) and se- curing space systems (the Security Problem). These two problems are interrelated and this research addresses them together. The Development Problem encompasses challenges that space systems developers face as they try to address the constraints induced by reduced budgets, design and develop- ment lifecycles, maintenance allowances, multi-vendor component integration and testing timelines. In order to satisfy these constraints a single small satellite might incorporate hardware and software components from dozens of organizations with independent work forces and schedules. The Security Problem deals with growing need to ensure that each one of these software or hardware components behaves according to policy or system design as well as the typical cybersecurity concerns that face any information system. This research addresses the Development Problem by exploring the needs and barriers of Small Space to find the best path forward for the space systems industry to catch up with the methodology advancements already being widely used in other software fields. To do this exploration a series of five surveys, referred to as SISDPA, was conducted to asses current attitudes and state of practice among space system developers. This crystallized a need in space system development | modular reusable open networks can help Small Space realize its potential, but there is still need to address certain security threats. v This research addresses the Security Problem by augmenting a modular reusable open- network software development framework, called SSM, by adding policy enforcement in the form of authentication, access control, and encryption provisions, to create a new devel- opment framework, SSSM. This design and implementation adds security provisions while minimizing the impact on developers using the framework. SSSM is evaluated in terms of developer and system resource burden and shows that SSSM does not significantly increase developer burden and preserves the ease-of-use of SSM. vi To Allyson, we would not be here without you. vii ACKNOWLEDGMENTS It has been a long road, I would like to acknowledge those who have helped or carried me along the way. The Space Dynamics Laboratory, for the PhD Fellowship and support via internal research and development funding. Allyson, for sharing the burden and prodding me along when I got complacent. Dr. Stephen Clyde, for letting me struggle when I needed to struggle and helping when I really needed help even though he was busy beyond belief. Brook Mckenna for her help and patience throughout the PhD Fellowship process. The various members of the Utah State University (USU) Computer Science faculty that I have pestered over the years, for their patience and help. Parents, for instilling a resilient stubbornness that helped get me through. Katelyn, Hannah, and Nora, for helping me remember what is important. Mark Greenman, for letting me vent, and generally giving me good advice. David Anderson and Ian Karlinsey, for helping stay on track during all those years down in Albuquerque. Brandon Holdaway, for his help in implemented SSSM. All those in Albuquerque and Logan that have put up with my struggle over the years. All the others who helped get me here. Brandon L. Shirley viii CONTENTS Page ABSTRACT :::::::::::::::::::::::::::::::::::::::::::::::::::::: iii PUBLIC ABSTRACT ::::::::::::::::::::::::::::::::::::::::::::::: iv ACKNOWLEDGMENTS :::::::::::::::::::::::::::::::::::::::::::: vii LIST OF TABLES ::::::::::::::::::::::::::::::::::::::::::::::::: xii LIST OF FIGURES :::::::::::::::::::::::::::::::::::::::::::::::: xvi LIST OF SAMPLES :::::::::::::::::::::::::::::::::::::::::::::::: xvii ACRONYMS :::::::::::::::::::::::::::::::::::::::::::::::::::::xviii 1 INTRODUCTION ::::::::::::::::::::::::::::::::::::::::::::::: 1 2 RELATED WORK :::::::::::::::::::::::::::::::::::::::::::::: 5 2.1 Introduction....................................5 2.2 Modularity and Reuse in Space Systems....................5 2.3 Security for Space Systems...........................9 2.3.1 Policy and Principles........................... 10 2.3.2 Process and Tools............................ 13 2.3.3 Implementations............................. 15 3 SURVEY SERIES DESCRIPTION ::::::::::::::::::::::::::::::::::: 18 3.1 Introduction.................................... 18 3.2 Survey Questions................................. 18 3.3 Survey Distribution................................ 22 4 SURVEY SERIES RESULTS AND ANALYSIS :::::::::::::::::::::::::: 24 4.1 Introduction.................................... 24 4.2 Survey Series Participation........................... 25 4.3 Participant Perception of Code Complexity.................. 27 4.3.1 Code Complexity Importance and Benefits.............. 28 4.3.1.1 Core Concepts (CC ) Survey, Question 2.1 Analysis, Part 1 28 Test 1............................... 29 Test 2............................... 30 Test 3............................... 33 4.3.1.2 CC Survey, Question 2.2 Analysis, Part 1.......... 35 4.3.1.3 Reuse, Interoperability, Portability, Code Complexity (RIPCC ) Survey, Question 2.13 Analysis................ 37 4.3.2 Code Complexity Metrics........................ 42 4.3.2.1 RIPCC Survey, Question 2.15 Analysis........... 43 ix 4.4 Participant Perception of Reusable Software.................. 45 4.4.1 Reusability Importance and Benefits.................. 46 4.4.1.1 CC Survey, Question 2.1 Analysis, Part 2.......... 47 Test 1............................... 47 Test 2............................... 48 4.4.1.2 CC Survey, Question 2.2 Analysis, Part 2.......... 51 4.4.1.3 RIPCC Survey, Question 2.10 Analysis........... 53 4.5 Participant Perception of Modular Open-network System Approaches... 59 4.5.1 Networking Benefits........................... 60 4.5.1.1 Network Survey, Question 2.3 Analysis, Part 1....... 60 4.5.2 Open Systems Architecture/Approach (OSA) and Modular Open Net- work Architecture (MONA) Trends................... 65 4.5.2.1 Open Systems Architecture and Modularity (OSAM ) Survey, Question 2.4 Analysis..................... 66 Test 1............................... 66 Test 2..............................
Recommended publications
  • Behavioral Non-Portability in Scientific Numeric Computing
    Behavioral Non-portability in Scientific Numeric Computing B B Yijia Gu1( ), Thomas Wahl1, Mahsa Bayati2( ), and Miriam Leeser2 1 College of Computer and Information Science, Northeastern University, Boston, USA {guyijia,wahl}@ccs.neu.edu 2 Department of Electrical and Computer Engineering, Northeastern University, Boston, USA {mbayati,mel}@coe.neu.edu Abstract. The precise semantics of floating-point arithmetic programs depends on the execution platform, including the compiler and the tar- get hardware. Platform dependencies are particularly pronounced for arithmetic-intensive parallel numeric programs and infringe on the highly desirable goal of software portability (which is nonetheless promised by heterogeneous computing frameworks like OpenCL): the same program run on the same inputs on different platforms often produces different results. Serious doubts on the portability of numeric applications arise when these differences are behavioral, i.e. when they lead to changes in the control flow of a program. In this paper we present an algorithm that takes a numeric procedure and determines an input that may lead to different branching decisions depending on how the arithmetic in the procedure is compiled. We illustrate the algorithm on a diverse set of examples, characteristic of scientific numeric computing, where control flow divergence actually occurs across different execution platforms. 1 Introduction Many high performance computing applications make use of floating-point arith- metic. It is well known that floating-point expressions produce different results on different machines, due to lack of associativity, etc. Most practitioners assume that this affects only the last few bits of a computation, and can safely be ignored. In this paper, we present several examples where code run on different platforms on the same inputs can produce not just different results but different control flow.
    [Show full text]
  • Combating Obsolescence in High-Performance Multiprocessor Software by William Lundgren, Kerry Barnes, and James Steed
    Managing the technology life cycle Combating obsolescence in high-performance multiprocessor software By William Lundgren, Kerry Barnes, and James Steed When software is customized to its hardware, it is difficult to break that bond. Software is then at risk The challenge of multiprocessor for becoming obsolete just like the hardware. Three methods for combating this obsolescence are presented: software portability specification documents, middleware, and model-driven If software is portable, it can be run on multiple types of hardware. development. Only model-driven development is capable Software portability reduces the risk of obsolescence if that porta- of addressing this issue while simplifying software bility includes future types of hardware. To study the challenge of development, making global-level optimizations to the software portability, let’s look at a simple example: a distributed sort application’s structure and providing a general purpose application. Assume that the data set is very large and at the begin- solution instead of a finite set of algorithms. ning of the sort, each processor has N/P data elements where N and P are the data size and number of processors. There are two sections to this algorithm: First, the processors must decide together how to redistribute the data, then they must partition and redistribute their One doesn’t think of software becoming obsolete in the same arrays accordingly. way that hardware becomes obsolete. With hardware, once the circuit is no longer fast enough or no longer suited to the desired In the first section of this algorithm, each processor locally calculates application, it has to be thrown away.
    [Show full text]
  • Developing Portable Software
    DEVELOPING PORTABLE SOFTWARE James D. Mooney Lane Department of Computer Science and Electrical Engineering, West Virginia University, PO Box 6109, Morgantown, WV 26506 USA Abstract: Software portability is often cited as desirable, but rarely receives systematic attention in the software development process. With the growing diversity of computing platforms, it is increasingly likely that software of all types may need to migrate to a variety of environments and platforms over its lifetime. This tutorial is intended to show the reader how to design portability into software projects, and how to port software when required. Key words: software engineering; software portability 1. INTRODUCTION Most software developers agree that portability is a desirable attribute for their software projects. The useful life of an application, for example, is likely to be extended, and its user base increased, if it can be migrated to various platforms over its lifetime. In spite of the recognized importance of portability, there is little guidance for the systematic inclusion of portability considerations in the development process. There is a fairly large body of literature on aspects of portability. A comprehensive bibliography is provided by Deshpande (1997). However, most of this literature is based on anecdotes and case studies (e.g. Blackham (1988), Ross (1994)). A few seminal books and papers on portability appeared in the 1970s (e.g. Brown (1977), Poole (1975), Tanenbaum (1978)). Several books on software portability were published in the 1980s (Wallis (1982), Dahlstrand (1984), Henderson (1988), LeCarme (1989)). None of these publications provide a systematic, up-to-date presentation of portability techniques for present-day software.
    [Show full text]
  • Quality Attributes for Mission Flight Software: a Reference for Architects
    Quality Attributes for Mission Flight Software: A Reference for Architects Dan Dvorak and Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Jonathan Wilmot NASA Goddard Space Flight Center SATURN Conference San Diego, CA May 2-5, 2016 Copyright 2016 California Institute of Technology. Government sponsorship acknowledged. The research was carried out at the Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration. Page 1 Agenda • Introduction • Rationale • Attributes • Use Cases • Next Steps Page 2 Mission & Charter of SARB Mission: Manage flight software complexity through better software architecture Background •Established in 2009 based on recommendation from Flight Software Complexity study to NASA Chief Engineer •Targets projects in Formulation Phase to maximize impact Charter • Provide constructive feedback to flight projects in the formative stages of software architecting • Focus on architectural improvements to reduce and/or better manage complexity in requirements, analysis, design, implementation, verification, and operations • Spread best architectural practices, principles, and patterns across flight software centers • Contribute to NASA Lessons Learned Software Architecture Review Board 3 Importance of Software Quality Attributes • Quality Attributes have a significant impact on the system design, software architecture and cost – Requirement for software portability • Consider abstraction layers – Requirement for software
    [Show full text]
  • A Study on the Portability of Iot Operating Systems
    A Study on the Portability of IoT Operating Systems Renata Martins Gomes Marcel Baunach [email protected] [email protected] Graz University of Technology Graz University of Technology Graz, Austria Graz, Austria ABSTRACT hardware-specific mechanisms demanding low-level knowl- The IoT is set to permeate our lives as a new and global edge about the hardware. super infrastructure, where billions of devices with an un- The Internet of Things (IoT) is set to permeate our lives as precedented variety of hardware architectures will interact. a new super-infrastructure, with applications ranging from To enable IoT applications and services to run everywhere monitoring our health to controlling our cars and manag- without major adaptation, operating systems (OS) provide ing our cities. Billions of devices are expected to interact in standardized interfaces to the heterogeneous hardware. As the IoT, and we can already see a growing variety of hard- a consequence, an operating system for IoT devices must ware architectures, communication stacks and programming be available for a huge number of target platforms, from paradigms, each specializing on specific purposes and differ- low-end to high-end devices, and it must guarantee differ- ent requirements or constraints. An OS that aims to become ent levels of dependability (e.g., safety, security, real-time, the Linux or Android for the IoT will need to be able to run maintainability) that each application will require. Some of on several platforms, ranging from low-end sensor nodes to these hardware architectures do already exist, others will high-end automotive electronic control units (ECUs), guar- emerge over time and introduce new or improved features anteeing different levels of dependability [4] that each ap- that must be supported or exploited by the OS.
    [Show full text]
  • Portability of Process-Aware and Service-Oriented Software Evidence and Metrics
    Schriften aus der Fakultät Wirtschaftsinformatik und 23 Angewandte Informatik der Otto-Friedrich-Universität Bamberg Portability of Process-Aware and Service-Oriented Software Evidence and Metrics Jörg Lenhard 23 Schriften aus der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich- Universität Bamberg Contributions of the Faculty Information Systems and Applied Computer Sciences of the Otto-Friedrich-University Bamberg Schriften aus der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich- Universität Bamberg Contributions of the Faculty Information Systems and Applied Computer Sciences of the Otto-Friedrich-University Bamberg Band 23 2016 Portability of Process-Aware and Service-Oriented Software Evidence and Metrics von Jörg Lenhard 2016 Bibliographische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliographie; detaillierte bibliographische Informationen sind im In- ternet über http://dnb.d-nb.de/ abrufbar. Diese Arbeit hat der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich-Universität Bamberg als Dissertation vorgelegen. Gutachter: Prof. Dr. Schahram Dustdar, Technische Universität Wien Prof. Dr. Guido Wirtz, Otto-Friedrich-Universität Bamberg Tag der mündlichen Prüfung: 21. Januar 2016 Dieses Werk ist als freie Onlineversion über den Hochschulschriften-Server (OPUS; http:// www.opus-bayern.de/uni-bamberg/) der Universitätsbibliothek Bamberg erreichbar. Kopi- en und Ausdrucke dürfen nur zum privaten und sonstigen eigenen Gebrauch angefertigt werden. Herstellung und Druck: docupoint, Magdeburg Umschlaggestaltung: University of Bamberg Press, Anna Hitthaler © University of Bamberg Press Bamberg, 2016 http://www.uni-bamberg.de/ubp/ ISSN: 1867-7401 ISBN: 978-3-86309-399-0 (Druckausgabe) eISBN: 978-3-86309-400-3 (Online-Ausgabe) URN: urn:nbn:de:bvb:473-opus4-462521 Acknowledgments First and foremost, I want to thank my supervisor, Prof.
    [Show full text]
  • Enhancing Software Portability with a Testing and Evaluation Platform
    Enhancing Software Portability with a Testing and Evaluation Platform Florian Weisshardt, Fraunhofer IPA, fl[email protected], Germany Jannik Kett, Fraunhofer IPA, [email protected], Germany Thiago de Freitas Oliveira Araujo, Fraunhofer IPA, [email protected], Germany Alexander Bubeck, Fraunhofer IPA, [email protected], Germany Alexander Verl, Fraunhofer IPA, [email protected], Germany Abstract Recently a variety of service robots is available as standard platforms allowing a worldwide exchange of software for applications in the service sector or industrial environments. Open source software components enhance this sharing process, but require the maintenance of a certain level of quality. This paper presents an approach to a testing and evaluation platform which facilitates the sharing of capabilities over different robot types, environments and application cases. 1 Introduction 1, is to make sure that these functionalities will perform in a way they are supposed to. The only way to ensure In the past years, there have been more and more com- this wide range of hardware and environment indepen- plex and capable service robots available as standard plat- dent applications is to perform an extensive testing which R forms [1]. Two examples are the Care-O-bot 3 [2] and is often executed manually and therefore time consuming the PR2 [3] robots, which are already in use in differ- and related to high costs. One way of decreasing effort ent organizations spread all over the world [4]. First and cost is to make use of mostly automated testing of these robots were mainly targeted at the research com- software capabilities on the target robot, environment and munity, but nowadays they get closer to real application application case.
    [Show full text]
  • Investigating Software Maintainability Development: a Case for ISO 9126
    IJCSI International Journal of Computer Science Issues, Vol. 11, Issue 2, No 2, March 2014 ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784 www.IJCSI.org 18 InInvestigatingvestigating Software Maintainability Development: A case for ISO 9126 Ahmad Haboush, Mohammad Alnabhan, Anas AL-Badareen, Mohammad Al-nawayseh and Bassam EL-Zaghmouri Faculty of Information Technology, Jerash University Jerash, Jordan Abstract Software maintainability has been considered as a main characteristic in many software product quality models. However, these models have different definitions for maintainability and sub characteristics. ISO 9126 is one of the main and most frequently used models in software product quality. This model has been revised and replaced by ISO 25010 as a new model of software product quality. In addition to the many modifications that were performed on ISO 9126 model, maintainability was one of the main modified characteristics. However, it was developed unclearly without any standard base, and with no clear definition or evidence of how the sub characteristics were defined and modified. This paper investigates these modifications and the differences between the definitions of the maintainability in the two models, ISO 9126 and ISO 25010. As a result of this discussion, it has been concluded that both models ISO 9126 and ISO 25010 lack of a clear definition or standard base for defining software maintainability and its sub characteristics. Fig. 1: The ISO/IEC 9126 Model Keywords: Quality Model, ISO/IEC 9126, ISO/IEC 25010, Maintainability, Reusability. • ISO/IEC 9126-1 [1]: new updated quality model. • ISO/IEC 9126-2 [2]: new set of external measures. 1.
    [Show full text]
  • Techniques for Software Portability in Mobile Development
    Master Thesis Software Engineering Thesis no: MSE-2009:03 January 2009 Techniques for Software Portability in Mobile Development Andreas Johansson and Jonas Svensson School of Engineering Blekinge Institute of Technology Box 520 SE – 372 25 Ronneby Sweden This thesis is submitted to the School of Engineering at Blekinge Institute of Technology in partial fulfillment of the requirements for the degree of Master of Scien ce in Software Engineering. The thesis is equivalent to 40 weeks of full time studies. Contact Information: Authors: Andreas Johansson E-mail: [email protected] Jonas Svensson E-mail: [email protected] University advisor: Mia Persson Department of Systems and Software Engineering School of Engineering Internet : www.bth.se/tek Blekinge Institute of Technology Phone : +46 457 38 50 00 Box 520 Fax : + 46 457 271 25 SE – 372 25 Ronneby Sweden ii ABSTRACT When attempting to get a software product to reach a larger part of the market, portability is a key factor. Unfortunately, it is often neglected from the software development cycle, and rather achieved by ad hoc methods in not very cost-effective ways. This thesis investigates portability in the context of mobile development. Previous research in this particular area has been hard to find, despite there obviously being special aspects surrounding it which are worth investigating further. The project was initiated with a literature study to find out the current state-of-the-art for portability. After this step the development of a mobile application was conducted, before which a market analysis had been carried out in order to explore which mobile platforms would be the most relevant to develop it for.
    [Show full text]
  • Software Portability Gains Realized with Metah and Ada95
    SOFTWARE PORTABILITY GAINS REALIZED WITH METAH AND ADA95 Bruce Lewis, US Army Aviation and Missile Command, Redstone Arsenal, Alabama In each of these cases the high Abstract portability and supported functionality of MetaH is an Architecture Description Ada95 was a significant enabler. Current Language (ADL) developed to express and trends say that future avionics systems and evaluate the software architecture of avionics perhaps other safety critical applications will and flight control systems. It is intended for require space and time partitioning. Should not only description and analysis, but also for Ada95 and the Ravenscar profile support these integration of the software components on the capabilities? specified embedded hardware. This automated composition to specification with glue code Problem Statement generation allows rapid development and Due to significant dependency of evolution of real-time embedded mission and software on the execution environment safety critical systems. It also provides very (compilers, operating systems, processors, high portability in these complex systems for buses, I/O devices), it is often very expensive software application code across various to re-host software as execution capacity is execution environments. This is accomplished exceeded. Embedded real-time software is by leveraging language and O/S standards, particularly difficult to re-host because of minimizing component dependencies, and by timing dependencies, performance constructing component timing relationships to requirements, complex processor architectures, specification across differing execution synchronous concurrent processes and platforms. specialized device interfaces. Avionics and This paper describes MetaH and flight control software adds to the complexity provides the results of porting a highly time by requiring multilevel safety, fault tolerance, sensitive application across significantly modular multiprocessor architectures, and very different embedded hardware/software complex multi-mode system behavior.
    [Show full text]
  • Code Porting in Embedded Systems: a Case Study
    M¨alardalenUniversity School of Innovation Design and Engineering V¨aster˚as,Sweden Thesis for the Degree of Master of Science in Computer Science with Specialization in Embedded Systems 30.0 credits CODE PORTING IN EMBEDDED SYSTEMS: A CASE STUDY Ali Alexander Mokdad [email protected] Examiner: Adnan Causevic M¨alardalenUniversity, V¨aster˚as,Sweden Supervisor: Nils M¨ullner,Lennie Carl´enEriksson M¨alardalenUniversity, V¨aster˚as,Sweden May 22, 2019 M¨alardalenUniversity Master Thesis Abstract Code porting is a very known topic nowadays that brings some issues with it. It consists of translat- ing code running on a specific platform, to run on a different one and adapt with the new hardware. This thesis aims to present code porting and find possible guidelines to be applied when being per- formed, and contributes at the same time to the state of the art of code porting in embedded systems. Also, test these selected guidelines in a case study to validate whether they can be applied for each action of code porting. The case study consists of an autonomous underwater vehicle having a proportional integral deivative (PID) that is ported into a new hardware according to the selected guidelines. 1 M¨alardalenUniversity Master Thesis Table of Contents 1 Introduction 3 1.1 Problem Formulation...................................3 1.2 Research Questions....................................3 1.3 Thesis Contribution...................................4 1.4 Thesis Outline......................................4 2 Research Method5 3 Related Work 6 3.1 Code porting.......................................6 3.2 AUVs and PIDs.....................................8 4 Case Study Design and Planning 10 5 Implementation 13 5.1 Header Files.......................................
    [Show full text]
  • Software Reuse in Safety-Critical Systems
    Software Reuse in Safety-Critical Systems Master’s Thesis Rochester Institute of Technology Leanna Rierson May 1, 2000 Disclaimers: 1. This paper is not the official Federal Aviation Administration (FAA) position. The author is a FAA employee, and the paper is intended to be consistent with FAA policy; however, it has not been coordinated through the FAA’s approving officials and merely represents the opinions of the author. 2. The author and FAA are continuing to perform activities in the areas discussed in this paper. For example: • FAA policy on reuse if being developed; • A tutorial on software reuse is being considered; and • Research is being conducted in the areas of commercial-off-the-shelf software, software service history, and object-oriented technology. Additional materials will be posted on the Aircraft Certification Software web- site as they become available. Leanna Rierson i May 1, 2000 Table of Contents 1.0 INTRODUCTION...............................................................................................................................................1 2.0 THE GROWING USE OF SOFTWARE IN SAFETY-CRITICAL SYSTEMS................................................................2 3.0 CIVIL AVIATION METHOD OF ADDRESSING SOFTWARE ASSURANCE .............................................................3 4.0 APPROACHES TO SOFTWARE REUSE IN SAFETY-CRITICAL SYSTEMS..............................................................5 4.1 Planning for Reuse ...................................................................................................................................6
    [Show full text]