Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “software software requirements quality”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 109 records · Page 6

CCSDS Time-Critical Onboard Networking Service

The Consultative Committee for Space Data Systems (CCSDS) is developing recommendations for communication services onboard spacecraft. Today many different communication buses are used on spacecraft requiring software with the same basic functionality to be rewritten for each type of bus. This impacts on the application software resulting in custom software for almost every new mission. The Spacecraft Onboard Interface Services (SOIS) working group aims to provide a consistent interface to various onboard buses and sub-networks, enabling a common interface to the application software. The eventual goal is reusable software that can be easily ported to new missions and run on a range of onboard buses without substantial modification. The system engineer will then be able to select a bus based on its performance, power, etc and be confident that a particular choice of bus will not place excessive demands on software development. This paper describes the SOIS Intra-Networking Service which is designed to enable data transfer and multiplexing of a variety of internetworking protocols with a range of quality of service support, over underlying heterogeneous data links. The Intra-network service interface provides users with a common Quality of Service interface when transporting data across a variety of underlying data links. Supported Quality of Service (QoS) elements include: Priority, Resource Reservation and Retry/Redundancy. These three QoS elements combine and map into four TCONS services for onboard data communications: Best Effort, Assured, Reserved, and Guaranteed. Data to be transported is passed to the Intra-network service with a requested QoS. The requested QoS includes the type of service, priority and where appropriate, a channel identifier. The data is de-multiplexed, prioritized, and the required resources for transport are allocated. The data is then passed to the appropriate data link for transfer across the bus. The SOIS supported data links may inherently provide the quality of service support requested by the intra-network layer. In the case where the data link does not have the required level of support, the missing functionality is added by SOIS. As a result of this architecture, re-usable software applications can be designed and used across missions thereby promoting common mission operations. In addition, the protocol multiplexing function enables the blending of multiple onboard networks. This paper starts by giving an overview of the SOIS architecture in section 11, illustrating where the TCONS services fit into the overall architecture. It then describes the quality of service approach adopted, in section III. The prototyping efforts that have been going on are introduced in section JY. Finally, in section V the current status of the CCSDS recommendations is summarized.

Parkes, Steve↗

AutoBayes/CC: Combining Program Synthesis with Automatic Code Certification: System Description

Code certification is a lightweight approach to formally demonstrate software quality. It concentrates on aspects of software quality that can be defined and formalized via properties, e.g., operator safety or memory safety. Its basic idea is to require code producers to provide formal proofs that their code satisfies these quality properties. The proofs serve as certificates which can be checked independently, by the code consumer or by certification authorities, e.g., the FAA. It is the idea underlying such approaches as proof-carrying code [6]. Code certification can be viewed as a more practical version of traditional Hoare-style program verification. The properties to be verified are fairly simple and regular so that it is often possible to use an automated theorem prover to automatically discharge all emerging proof obligations. Usually, however, the programmer must still splice auxiliary annotations (e.g., loop invariants) into the program to facilitate the proofs. For complex properties or larger programs this quickly becomes the limiting factor for the applicability of current certification approaches.

Whalen, Michael↗

Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation

Although existing CORBA specifications, such as Real-time CORBA and CORBA Messaging, address many end-to-end quality-of-service (QoS) properties, they do not define strategies for configuring these properties into applications flexibly, transparently, and adaptively. Therefore, application developers must make these configuration decisions manually and explicitly, which is tedious, error-prone, and often sub-optimal. Although the recently adopted CORBA Component Model (CCM) does define a standard configuration frame-work for packaging and deploying software components, conventional CCM implementations focus on functionality rather than adaptive quality-of service, which makes them unsuitable for next-generation applications with demanding QoS requirements. This paper presents three contributions to the study of middleware for QoS-enabled component-based applications. It outlines reflective middleware techniques designed to adaptively: (1) select optimal communication mechanisms, (2) man- age QoS properties of CORBA components in their containers, and (3) (re)configure selected component executors dynamically. Based on our ongoing research on CORBA and the CCM, we believe the application of reflective techniques to component middleware will provide a dynamically adaptive and (re)configurable framework for COTS software that is well-suited for the QoS demands of next-generation applications.

Wang, Nanbor↗

Applying Reflective Middleware Techniques to Optimize a QoS-enabled CORBA Component Model Implementation

Although existing CORBA specifications, such as Real-time CORBA and CORBA Messaging, address many end-to-end quality-of service (QoS) properties, they do not define strategies for configuring these properties into applications flexibly, transparently, and adaptively. Therefore, application developers must make these configuration decisions manually and explicitly, which is tedious, error-prone, and open sub-optimal. Although the recently adopted CORBA Component Model (CCM) does define a standard configuration framework for packaging and deploying software components, conventional CCM implementations focus on functionality rather than adaptive quality-of-service, which makes them unsuitable for next-generation applications with demanding QoS requirements. This paper presents three contributions to the study of middleware for QoS-enabled component-based applications. It outlines rejective middleware techniques designed to adaptively (1) select optimal communication mechanisms, (2) manage QoS properties of CORBA components in their contain- ers, and (3) (re)con$gure selected component executors dynamically. Based on our ongoing research on CORBA and the CCM, we believe the application of rejective techniques to component middleware will provide a dynamically adaptive and (re)configurable framework for COTS software that is well-suited for the QoS demands of next-generation applications.

Wang, Nanbor↗

Extended Testability Analysis Tool

The Extended Testability Analysis (ETA) Tool is a software application that supports fault management (FM) by performing testability analyses on the fault propagation model of a given system. Fault management includes the prevention of faults through robust design margins and quality assurance methods, or the mitigation of system failures. Fault management requires an understanding of the system design and operation, potential failure mechanisms within the system, and the propagation of those potential failures through the system. The purpose of the ETA Tool software is to process the testability analysis results from a commercial software program called TEAMS Designer in order to provide a detailed set of diagnostic assessment reports. The ETA Tool is a command-line process with several user-selectable report output options. The ETA Tool also extends the COTS testability analysis and enables variation studies with sensor sensitivity impacts on system diagnostics and component isolation using a single testability output. The ETA Tool can also provide extended analyses from a single set of testability output files. The following analysis reports are available to the user: (1) the Detectability Report provides a breakdown of how each tested failure mode was detected, (2) the Test Utilization Report identifies all the failure modes that each test detects, (3) the Failure Mode Isolation Report demonstrates the system s ability to discriminate between failure modes, (4) the Component Isolation Report demonstrates the system s ability to discriminate between failure modes relative to the components containing the failure modes, (5) the Sensor Sensor Sensitivity Analysis Report shows the diagnostic impact due to loss of sensor information, and (6) the Effect Mapping Report identifies failure modes that result in specified system-level effects.

Melcher, Kevin↗

Virtual Microscope Views of the Apollo 11 and 12 Lunar Samples

The Apollo virtual microscope is a means of viewing, over the Internet, polished thin sections of every rock in the Apollo lunar sample collections via software, duplicating many of the functions of a petrological microscope, is described. Images from the Apollo 11 and 12 missions may be viewed at: www.virtualmicroscope.org/content/apollo. Introduction: During the six NASA missions to the Moon from 1969-72 a total of 382 kilograms of rocks and soils, often referred to as "the legacy of Apollo", were collected and returned to Earth. A unique collection of polished thin sections (PTSs) was made from over 400 rocks by the Lunar Sample Curatorial Facility at the Johnson Spacecraft Center (JSC), Houston. These materials have been available for loan to approved PIs but of course they can't be simultaneously investigated by several researchers unless they are co-located or the sample is passed back and forward between them by mail/hand carrying which is inefficient and very risky for irreplaceable material. When The Open University (OU), the world's largest Distance Learning Higher Education Establishment found itself facing a comparable problem (how to supply thousands of undergraduate students with an interactive petrological microscope and a personal set of thin sections), it decided to develop a software tool called the Virtual Microscope (VM). As a result it is now able to make the unique and precious collection of Apollo specimens universally available as a resource for concurrent study by anybody in the world's Earth and Planetary Sciences community. Herein, we describe the first steps of a collaborative project between OU and the Johnson Space Center (JSC) Curatorial Facility to record a PTS for every lunar rock, beginning with those collected by the Apollo 11 and 12 missions. Method: Production of a virtual microscope dedicated to a particular theme divides into four main parts - photography, image processing, building and assembly of virtual microscope components, and publication on a website. Two large research quality microscopes are used to collect all the images required for a virtual microscope. The first is part of an integrated package that utilizes Leica PowerMosaic software and a motorised XYZ stage to generate large area mosaics. It includes a fast acquisition camera and depending on the PTS size normally is used to produce seamless mosaic images consisting of 100-500 individual photographs. If the sample is suitable, three mosaics of each sample are recorded - plane polarised light, between crossed polars and reflected light. In order for the VM to be a true petrological microscope it is necessary to recreate the features of a rotating stage and perform observations using filters to produce polarised light. Thus the petrological VM includes the capability of seeing changes in optical properties (pleochroism and birefringence) during rotation allowing mineral identification. The second microscope in the system provides the functions of the rotating stage. To this microscope we have added a robotically controlled motor to acquire seventy-two images (5 degree intervals) in plane polarised light and between crossed polars. To process the images acquired from the two microscopes involves a combination of proprietary software (Photoshop) and our own in-house code. The final stage involves assembling all the components in an HTML5 environment. Pathfinder investigations: We have undertaken a number of pilot studies to demonstrate the efficacy of the petrological microscope with lunar samples. The first was to make available on-line images collected from the Educational Package of Apollo samples provided by NASA to the UK STFC (Science and Technical Facilities Council) for loan as educational material e.g. for schools. The real PTSs of the samples are now no longer sent out to schools removing the risks associated with transport, accidental breakage and eliminating the possibility of loss. The availability of lunar sample VM-related material was further extended to include twenty-eight specimens from all of the Apollo missions. Some of these samples were made more generally available through an ibook entitled "Moon Rocks: an introduction to the Geology of the Moon," free from the Apple Bookstore. Research possibilities: Although the Virtual Microscope was originally conceived as a teaching aid and was later recognised as a means of public outreach and engagement, we now realize that it also has enormous potential as a high level research tool. Following discussions with the JSC Curators we have received Curation and Analysis Planning Team for Extraterrestrial Materials (CAPTEM) permission to embark on a programme of digitizing the entire lunar sample PTS collection for all three of the above purposes. By the time of the 47th Lunar and Planetary Science Conference (LPSC) we will have completed 81 rocks collected during the Apollo 11 and 12 missions and the data, with cross-links to the Lunar Sample Compendium will go live on the Web at the 47th LPSC. The VM images of the Apollo 11 (41 VM images) and 12 (40 VM images) missions can be viewed at: http:/www.virtualmicroscope.org/content/apollo. The lunar sample VM will enable large numbers of skilled/unskilled microscopists (professional and amateur researchers, educators and students, enthusiasts and the simply curious non-scientists) to share the information from a single sample. It will mean that all the PTSs already cut, even historical ones, could be available for new joint investigations or private study. The scientific return from the collection will increase exponentially as a result of further debate and discussion. Simultaneously the VM will remove the need for making unnecessary multiple samplings, avoid consignment of delicate/breakable specimens (all of which are priceless) to insecure mail/courier services and reduce direct labour and indirect costs, travel budgets and unproductive travelling time necessary for co-location of collaborating researchers. For the future we have already recognized further potential for virtual technology. There is nothing that a petrologist likes more than to see the original rock as a hand specimen. It is entirely possible to recreate virtual hand specimens with 3-D hard and software, already developed for viewing fossils, located within the Curatorial Facility, http://curator.jsc.nasa.gov/lunar/lsc/index.cfm.

Gibson, E. K.↗

Optical Software Defined Radio Transmitter Extinction Ratio Enhancement with Differential Pulse Carving

A unique challenge in the development of a deep space optical software defined radio (SDR) transmitter is the optimization of the extinction ratio (ER). For a Mars to Earth optical link, an ER approaching 40dB may be necessary. However, a high ER can be difficult to achieve at the low PPM orders and narrow slot widths required for high data rates. The quality of the digital signal transmitted by the SDR does not meet the amplitude and timing characteristics needed by an analog optical modulator. The conflicting implementation constraints of these two fundamentally different systems, the digital SDR and analog optical modulator, can make achieving the required ER very difficult. In this paper, the causes of fidelity loss at the interface between the SDR and optical modulator are discussed. The SDR signal quality requirements are derived and explored. It is shown that increasing the SDR signal quality enough to meet these requirements is impractical to implement due to bandwidth limitations of electronic components as well as Field Programmable Gate Array (FPGA) clock speed constraints. A novel optical modulation architecture based on low-voltage differential signaling and dual Mach-Zehnder modulators is presented which reduces the signal quality requirements on the SDR and increases the system ER.

Electro-Optic Modulator↗

Ares I-X Range Safety Simulation Verification and Analysis Independent Validation and Verification

NASA s Ares I-X vehicle launched on a suborbital test flight from the Eastern Range in Florida on October 28, 2009. To obtain approval for launch, a range safety final flight data package was generated to meet the data requirements defined in the Air Force Space Command Manual 91-710 Volume 2. The delivery included products such as a nominal trajectory, trajectory envelopes, stage disposal data and footprints, and a malfunction turn analysis. The Air Force s 45th Space Wing uses these products to ensure public and launch area safety. Due to the criticality of these data, an independent validation and verification effort was undertaken to ensure data quality and adherence to requirements. As a result, the product package was delivered with the confidence that independent organizations using separate simulation software generated data to meet the range requirements and yielded consistent results. This document captures Ares I-X final flight data package verification and validation analysis, including the methodology used to validate and verify simulation inputs, execution, and results and presents lessons learned during the process

Merry, Carl M.↗

Safety-Critical Partitioned Software Architecture: A Partitioned Software Architecture for Robotic

The flight software on virtually every mission currently managed by JPL has several major flaws that make it vulnerable to potentially fatal software defects. Many of these problems can be addressed by recently developed partitioned operating systems (OS). JPL has avoided adopting a partitioned operating system on its flight missions, primarily because doing so would require significant changes in flight software design, and the risks associated with changes of that magnitude cannot be accepted by an active flight project. The choice of a partitioned OS can have a dramatic effect on the overall system and software architecture, allowing for realization of benefits far beyond the concerns typically associated with the choice of OS. Specifically, we believe that a partitioned operating system, when coupled with an appropriate architecture, can provide a strong infrastructure for developing systems for which reusability, modifiability, testability, and reliability are essential qualities. By adopting a partitioned OS, projects can gain benefits throughout the entire development lifecycle, from requirements and design, all the way to implementation, testing, and operations.

(Avionics Application Standard Software Interface ↗

Optical Software Defined Radio Transmitter Extinction Ratio Enhancement with Differential Pulse Carving

A unique challenge in the development of a deep space optical software defined radio (SDR) transmitter is the optimization of the extinction ratio (ER). For a Mars to Earth optical link, an ER approaching 40dB may be necessary. However, a high ER can be difficult to achieve at the low PPM orders and narrow slot widths required for high data rates. The quality of the digital signal transmitted by the SDR does not meet the amplitude and timing characteristics needed by an analog optical modulator. The conflicting implementation constraints of these two fundamentally different systems, the digital SDR and analog optical modulator, can make achieving the required ER very difficult. In this paper, the causes of fidelity loss at the interface between the SDR and optical modulator are discussed. The SDR signal quality requirements are derived and explored. It is shown that increasing the SDR signal quality enough to meet these requirements is impractical to implement due to bandwidth limitations of electronic components as well as Field Programmable Gate Array (FPGA) clock speed constraints. A novel optical modulation architecture based on low-voltage differential signaling and dual Mach-Zehnder modulators is presented which reduces the signal quality requirements on the SDR and increases the system ER.

Electro-Optic Modulator↗

The validation by measurement theory of proposed object-oriented software metrics

Moving software development into the engineering arena requires controllability, and to control a process, it must be measurable. Measuring the process does no good if the product is not also measured, i.e., being the best at producing an inferior product does not define a quality process. Also, not every number extracted from software development is a valid measurement. A valid measurement only results when we are able to verify that the number is representative of the attribute that we wish to measure. Many proposed software metrics are used by practitioners without these metrics ever having been validated, leading to costly but often useless calculations. Several researchers have bemoaned the lack of scientific precision in much of the published software measurement work and have called for validation of software metrics by measurement theory. This dissertation applies measurement theory to validate fifty proposed object-oriented software metrics (Li and Henry, 1993; Chidamber and Kemerrer, 1994; Lorenz and Kidd, 1994).

Neal, Ralph D.↗

The Validation by Measurement Theory of Proposed Object-Oriented Software Metrics

Moving software development into the engineering arena requires controllability, and to control a process, it must be measurable. Measuring the process does no good if the product is not also measured, i.e., being the best at producing an inferior product does not define a quality process. Also, not every number extracted from software development is a valid measurement. A valid measurement only results when we are able to verify that the number is representative of the attribute that we wish to measure. Many proposed software metrics are used by practitioners without these metrics ever having been validated, leading to costly but often useless calculations. Several researchers have bemoaned the lack of scientific precision in much of the published software measurement work and have called for validation of software metrics by measurement theory. This dissertation applies measurement theory to validate fifty proposed object-oriented software metrics.

Neal, Ralph D.↗

The Validation by Measurement Theory of Proposed Object-Oriented Software Metrics

Moving software development into the engineering arena requires controllability, and to control a process, it must be measurable. Measuring the process does no good if the product is not also measured, i.e., being the best at producing an inferior product does not define a quality process. Also, not every number extracted from software development is a valid measurement. A valid measurement only results when we are able to verify that the number is representative of the attribute that we wish to measure. Many proposed software metrics are used by practitioners without these metrics ever having been validated, leading to costly but often useless calculations. Several researchers have bemoaned the lack of scientific precision in much of the published software measurement work and have called for validation of software metrics by measurement theory. This dissertation applies measurement theory to validate fifty proposed object-oriented software metrics.

Neal, Ralph D.↗

The experience factory: Can it make you a 5? or what is its relationship to other quality and improvement concepts?

The concepts of quality improvements have permeated many businesses. It is clear that the nineties will be the quality era for software and there is a growing need to develop or adapt quality improvement approaches to the software business. Thus we must understand software as an artifact and software as a business. Since the business we are dealing with is software, we must understand the nature of software and software development. The software discipline is evolutionary and experimental; it is a laboratory science. Software is development not production. The technologies of the discipline are human based. There is a lack of models that allow us to reason about the process and the product. All software is not the same; process is a variable, goals are variable, etc. Packaged, reusable, experiences require additional resources in the form of organization, processes, people, etc. There have been a variety of organizational frameworks proposed to improve quality for various businesses. The ones discussed in this presentation include: Plan-Do-Check-Act, a quality improvement process based upon a feedback cycle for optimizing a single process model/production line; the Experience Factory/Quality Improvement Paradigm, continuous improvements through the experimentation, packaging, and reuse of experiences based upon a business's needs; Total Quality Management, a management approach to long term success through customer satisfaction based on the participation of all members of an organization; the SEI capability maturity model, a staged process improvement based upon assessment with regard to a set of key process areas until you reach a level 5 which represents a continuous process improvement; and Lean (software) Development, a principle supporting the concentration of the production on 'value added' activities and the elimination of reduction of 'not value added' activities.

Basili, Victor R.↗

Launch Control System Software Development System Automation Testing

The Spaceport Command and Control System (SCCS) is the National Aeronautics and Space Administration's (NASA) launch control system for the Orion capsule and Space Launch System, the next generation manned rocket currently in development. This system requires high quality testing that will measure and test the capabilities of the system. For the past two years, the Exploration and Operations Division at Kennedy Space Center (KSC) has assigned a group including interns and full-time engineers to develop automated tests to save the project time and money. The team worked on automating the testing process for the SCCS GUI that would use streamed simulated data from the testing servers to produce data, plots, statuses, etc. to the GUI. The software used to develop automated tests included an automated testing framework and an automation library. The automated testing framework has a tabular-style syntax, which means the functionality of a line of code must have the appropriate number of tabs for the line to function as intended. The header section contains either paths to custom resources or the names of libraries being used. The automation library contains functionality to automate anything that appears on a desired screen with the use of image recognition software to detect and control GUI components. The data section contains any data values strictly created for the current testing file. The body section holds the tests that are being run. The function section can include any number of functions that may be used by the current testing file or any other file that resources it. The resources and body section are required for all test files; the data and function sections can be left empty if the data values and functions being used are from a resourced library or another file. To help equip the automation team with better tools, the Project Lead of the Automated Testing Team, Jason Kapusta, assigned the task to install and train an optical character recognition (OCR) tool to Brandon Echols, a fellow intern, and I. The purpose of the OCR tool is to analyze an image and find the coordinates of any group of text. Some issues that arose while installing the OCR tool included the absence of certain libraries needed to train the tool and an outdated software version. We eventually resolved the issues and successfully installed the OCR tool. Training the tool required many images and different fonts and sizes, but in the end the tool learned to accurately decipher the text in the images and their coordinates. The OCR tool produced a file that contained significant metadata for each section of text, but only the text and coordinates of the text was required for our purpose. The team made a script to parse the information we wanted from the OCR file to a different file that would be used by automation functions within the automated framework. Since a majority of development and testing for the automated test cases for the GUI in question has been done using live simulated data on the workstations at the Launch Control Center (LCC), a large amount of progress has been made. As of this writing, about 60% of all of automated testing has been implemented. Additionally, the OCR tool will help make our automated tests more robust due to the tool's text recognition being highly scalable to different text fonts and text sizes. Soon we will have the whole test system automated, allowing for more full-time engineers working on development projects.

Automation↗

Experience with Formal Methods techniques at the Jet Propulsion Laboratory from a quality assurance perspective

Recent experience with Formal Methods (FM) in the Software Quality Assurance Section at the Jet Propulsion Lab is presented. An integrated Formal Method process is presented to show how related existing requirements analysis and FM techniques complement one another. Example application of FM techniques such as formal specifications and specification animators are presented. The authors suggest that the quality assurance organization is a natural home for the Formal Methods specialist, whose expertise can then be used to best advantage across a range of projects.

Kelly, John C.↗

The handling qualities simulation program for the augmentor wing jet STOL research aircraft.

Description of a program in which a complete STOL research aircraft (modified de Havilland C8-A Buffalo) was simulated to determine final design values for control systems and devices which augment aircraft control. Program objectives, computer requirements, and the simulation software and hardware are outlined together with the organization of the digital operations. The simulation program in combination with simulator hardware provided test pilots a realistic representation of the aircraft, with the result that various control and stability augmentation systems were evaluated using pilot handling qualities ratings. Final design parameters were then found for the aircraft which is scheduled for flight test in early 1972.

Cleveland, W. B.↗

Extreme Programming: Maestro Style

"Extreme Programming: Maestro Style" is the name of a computer programming methodology that has evolved as a custom version of a methodology, called extreme programming that has been practiced in the software industry since the late 1990s. The name of this version reflects its origin in the work of the Maestro team at NASA's Jet Propulsion Laboratory that develops software for Mars exploration missions. Extreme programming is oriented toward agile development of software resting on values of simplicity, communication, testing, and aggressiveness. Extreme programming involves use of methods of rapidly building and disseminating institutional knowledge among members of a computer-programming team to give all the members a shared view that matches the view of the customers for whom the software system is to be developed. Extreme programming includes frequent planning by programmers in collaboration with customers, continually examining and rewriting code in striving for the simplest workable software designs, a system metaphor (basically, an abstraction of the system that provides easy-to-remember software-naming conventions and insight into the architecture of the system), programmers working in pairs, adherence to a set of coding standards, collaboration of customers and programmers, frequent verbal communication, frequent releases of software in small increments of development, repeated testing of the developmental software by both programmers and customers, and continuous interaction between the team and the customers. The environment in which the Maestro team works requires the team to quickly adapt to changing needs of its customers. In addition, the team cannot afford to accept unnecessary development risk. Extreme programming enables the Maestro team to remain agile and provide high-quality software and service to its customers. However, several factors in the Maestro environment have made it necessary to modify some of the conventional extreme-programming practices. The single most influential of these factors is that continuous interaction between customers and programmers is not feasible.

Norris, Jeffrey↗