Development Of A Software Package: Hirel
Graham L. Mehl
Salvatore Bavuso
Research And technology Group
Information And Electromagnetic Techology Division
Assessment Technology Branch

hirel developers


I received the opportunity to participate in the LARSS program to continue software development of a system tool called HiRel. HiRel is composed of three applications and is a system tool that allows a user to check the reliability and predictability of his/her system. My summer project consisted of continuing development of two or these applications called GO and HARPO. In order to carry out this project I had to work in two different computer architecture platforms: UNIX and IBM. I was requested to perform vigorous testing and polishing to the source code before sending the current versions to Cosmic and other beta sites.

Development Of A Software Package: HiRel

I. Background Information

A system tool called HiRel (The Hybrid Automated Reliability Predictor [HARP] Integrated Reliability System Tool) is being developed by Salvatore J. Bavuso, A NASA Langley Research Center employee, for further development. The development of HiRel began in 1980 at Duke University. Over the last fourteen years Duke and Clemson Universities and Langley Research Center have contributed their resources to the evolution of this project. HiRel has been given to over 100 beta sites for further studies, testing and research for additional capabilities that are needed.

Mr. Bavuso wrote a short paper about this project in 1992 and describes it in the following manner. "The HiRel software tool is described and demonstrated by application to the mission avionics subsystems of the Advanced System Integration Demonstrations (ASID) system that utilizes the PAVE PILLAR approach. HiRel marks another accomplishment towards the goals of producing a totally integrated Computer Aided Design workstation with design capability. Since a reliability engineer generally represents a reliability model graphically before he/she can solve it, the use of a graphical input description language increases productivity and decreases the incidence of error." As the mnemonic indicates, HARP is used to test reliability and safety controls in such areas as submarines, railroad controls, communications systems, monitoring of chemical plant's computers, and aviation systems in aircrafts. The design of the system tool that the research center is creating deals with digital circuits.

The program is being designed so it can run on three different platforms: IBM PC, UNIX, and VAX. HiRel is the combination of three independent applications-HARP Engine, Hybrid Automated Reliability Predictor Output (HARPO), and Graphical Oriented (GO) user interface as shown in figure 1. The HARP engine analyzes the model entered by the user and calculates the probabilities. HARPO allows the user to graphically view the results, as shown in figure 2. GO is a graphical user interface that provides easy access to the application without having to know the language and the statistical equations required to design models.

harpo package

II. Research Project

A. Approach

I assisted with work on the graphic input/output portion of The Hybrid Automated Reliability Predictor (HARP) concerning two of the three HiRel applications, HARPO and GO. I wrote sections of code in a high level computer language known as C and interface the code with a software package called GKS (Graphical Kernel System) to develop this specialized GO Program. My main task for the ten-week Summer program was to create the ability to use two additional fault tree gates and provide further documentation with the source code. I graphically designed the gates to allow easy use of operation such as Move, Copy, Delete, and Draw. In the HARPO application, I was requested to execute the application and enter numerous example to test all the capabilities of the application and detect any errors or modifications that were needed. Any modifications were required to be written in a high level computer language known as FORTRAN and coordinated with calls to GKS libraries. Consequently I had to familiarize myself with the GKS software package. Though I had used the FORTRAN compiler and the dbxtool (a debugging tool), I had to reacquaint myself with them. I used multiple text editors while tracing and debugging these two applications. I developed strategies to allow me to effectively debug and trace the source code. This was challenging not only because of the different programming languages but also because I was working on different platforms, different versions of various tools I was using, and different editors for the respective platforms. I was required to program on two Platforms, IBM and UNIX. I interacted with two IBM machines, IBM AT and IBM 386 PC clone. One goal was to solve resolution problems between the two IBM machines. In addition, another task was to check Graphics Kernel System (GKS), a software package that HiRel uses, to make sure it was not causing errors. I was also challenged to use GKS to add additional components to the current HiRel software package on two platforms. The challenge was created because three were different versions on each platform; Code had to be modified so it would not cause errors or difficulties for the source code as well as the users.

harpo2 package B. Equipment and Facilities

I used the SAB computer lab that contains Sun Workstations running the Open Window environment. The Hardware required to carry out the is research project was a color Sun workstation running on a UNIX operating system that must have a mouse. Two IBM computer machines, IBM 286 AT and IBM 386 PC clone, were used to test the differences between machines. Both the IBM 286 AT and IBM 386 PC are 512 kilobytes of memory, a math co-processor, two disk drives with 360 kilobytes capacity, a mouse, and a video graphics card.

Software used to assist the progress of my research was a combination of editors; text edit, EMACS, and vi on the UNIX system. On the IBM's, I used the Norton editor. I used two debugging tools-dbx, dbxtool on the UNIX platform, and code view on the IBM platform. I used a number of compilers depending on the platform: Microsoft FORTRAN 77 version 5.0, FORTRAN 77 for UNIX and ANSI C. One of the tasks I completed required me to become familiar with Microsoft Excel. And the last piece of software I used was the GKS software package.

go package C. Results/Conclusions

Over the ten week Langley Aeronautics Research Summer Scholarship program, I developed the GO and HARPO Applications to new and improved capabilities. I assisted with making modifications tot he HiRel system tool that were requested by beta sites. Hopefully these changes will increase the reliability, predictability, and efficiency of input to their systems. For the Go application I created two new fault tree gates to allow models of systems to become simpler and easier for the user. The two gates I created were the XOR and Invert gates. I also created documentation on how the gates were implemented in the code in case additional gates were to be added at a later date. I conducted vigorous testing of the application to check for any unusual anomalies and to check the manuals against the source code to make sure the manuals were up to date. With the HARPO application I mainly conducted vigorous testing and made minor changes to allow the interface between the software and the user to be user-friendly and easy to understand. In addition I created the ability to allow Microsoft Excel to import the internal files created by HARPO.

Written By Graham L. Mehl
Last Modified on November 23, 1996
© Graham Consulting