This electronic brochure highlights our capabilities and activities in the area of Software Engineering. For additional information, e-mail Susan B. Crumrine, Southwest Research Institute.

Software Engineering

Southwest Research Institute (SwRI) is a recognized leader in applied computer science and systems engineering. SwRI develops customized, high-quality software to meet industrial and governmental needs.

Combining outstanding technical capabilities with proven project management techniques, SwRI has earned its reputation by successfully completing programs on time and within budget. Software development projects range from management information systems to technical engineering applications.

SwRI develops software using virtually all programming languages--from assembly to high-level languages such as C++, C, Java, Ada, and FORTRAN, as well as languages targeted for specific applications such as simulation or artificial intelligence. Development and target computer platforms range from embedded microprocessors to mainframes, workstations, and personal computers.


SwRI has designed, developed, integrated, and maintained software for a variety of intelligent transportation system applications. This automated traffic management control center supports advanced traveler information systems and mobile video applications.


Services

  • Consulting
  • System definition/requirements analysis
  • Software specification development
  • Rapid prototyping
  • Software development and debugging
  • Software re-engineering
  • Software test plan development and execution
  • System integration
  • System acceptance test plan development
  • Independent verification and validation
  • Product evaluation
  • Turnkey system development

Applications

  • Process control
  • Computer-integrated manufacturing
  • Information systems
  • Modeling and simulation
  • Information warfare (IW)
  • Command and control warfare (C2W)
  • Intelligent transportation systems
  • Embedded systems
  • Decision support systems

SwRI developed for a major oil company a manufacturing automation system that integrated the lubricant production plant processes through a plant host computer network to corporate-level computer systems, enhancing the company's ability to schedule, monitor, and control plant operations.


Technologies

  • Operating systems
  • Programming languages
  • Database technology
  • Computer networking
  • Object-oriented technologies
  • Open systems architectures
  • Client server architectures
  • Graphical user interfaces
  • Visualization
  • Artificial intelligence
  • Distributed interactive simulation

SwRI assisted the NASA Johnson Space Center with its Mission Control Center (MCC) Upgrade Program which transitioned the MCC from a centralized to a distributed computing environment.


Software Development

SwRI's software process improvement program is modeled after the Software Engineering Institute's Capabilities Maturity Model. To assure the quality, efficiency, reliability, and maintainability of its products, SwRI uses an engineering methodology for software development, incorporating the following phases.

System definition
  • Determine purpose of system
  • Identify and describe each system task
  • Determine sequence of system operations needed to perform each task
  • Select system components and organization
  • Determine system interfaces to other systems and equipment
  • Select system interfaces to human operators and user-friendly characteristics
  • Perform system failure analyses and determine fault tolerances
  • Develop system test methods and self-diagnostics
  • Specify environmental factors
System design and specification
  • Perform high-level design, including identification of software modules, control flow between modules, and data flow between modules
  • Produce detailed design, including external and internal specifications, for each module.

Institute analysts are developing an architecture that integrates various tools, models, and databases into a cohesive system for command and control warfare planning and analysis. The architecture is based upon a distributed model, including use of the Common Object Request Broker Architecture (COBRA) standard and Java.


System implementation
  • Program software modules using appropriate programming language
  • Document program modules with comment blocks, including program or subroutine name, calling sequences, input and output parameters, list of subroutines called, program or subroutine descriptions, last revision date, and responsible programmer's name
  • Include appropriate in-line comments for clarity and maintenance
Unit testing
  • Develop module test procedures to specify test criteria for performance according to specification
  • Execute module test procedure, modify the code if necessary, and re-execute the test procedure
System integration
  • Merge software modules
  • Integrate software with hardware
System acceptance testing
  • Develop system Acceptance Test Plan (ATP) to verify that the integrated system performs according to system definition
  • Execute system ATP, modify the code if necessary, and re-execute the system ATP
This brochure was published in August 1997. For more information about software engineering, contact Susan B. Crumrine, Executive Director, Automation and Data Systems, Southwest Research Institute, P.O. Drawer 28510, San Antonio, Texas 78228-0510, Phone (210) 522-2089, Fax (210) 522-5885.

Automation and Data Systems Division Brochures
SwRI Brochures separate.gif (834 bytes) SwRI Publications separate.gif (834 bytes) SwRI Home