The Robust Software Engineering area of the Intelligent Systems Division has developed UML Pathfinder, an analyzer capable of finding errors early in the software life cycle for complex Crew Exploration Vehicle (CEV) flight and ground software. UML Pathfinder can reveal errors in Unified Modeling Language (UML) design models against requirements, including errors involving complicated interactions among components and concurrency errors, both of which are difficult to detect any other way. Finding these errors early during design makes them significantly less expensive to fix compared to later in the software life cycle. The current alpha version of UML Pathfinder has already been applied to a UML model associated with Pad-Abort 1, the first flight test article for CEV. The Lockheed-Martin Corporation (LMCO) has chosen UML as a critical portion of its innovative approach to software development for CEV, and this tool is expected to enable more effective NASA oversight.
UML Pathfinder is being developed by Masoud Mansouri-Samani and Tom Pressburger. It is based on translating UML to the Java PathFinder (JPF) UML-in-Java framework (developed by Peter Mehlitz) and then applying JPF. JPF found errors in the released run-time library accompanying the UML tool used by LMCO, which led to the vendor making a new release. Developing this analyzer has led to maturing the JPF UML framework by fixing its errors and enhancing it to support dialects of UML.
The approach was demonstrated at LMCO in Denver on August 8, 2007 on a preliminary CEV model. The status of the analyzer was briefed on February 29, 2008 to CEV oversight at Johnson Space Center (JSC) and a report was submitted to the Exploration Technology Development Program (ETDP) on May 7, 2008. The analyzer was demonstrated July 30, 2008 to CEV JSC representatives interested in eventually adopting it for their CEV software analysis laboratory, Kedalion. The current plan is to continue development of the analyzer and apply it to UML models that the LMCO team will be reengineering from software for the Pad Abort 1 CEV Flight Test Article test, as well as later models.
BACKGROUND: The software for the Orion capsule is being developed by a team headed by Lockheed-Martin Corporation (LMCO). They chose an innovative approach to software development involving high-level design modeling and code generation. The development process for non-math-intensive software is based on commercial tools which provide for software requirements and design modeling in the Unified Modeling Language (UML) formalism, followed by automatic code generation. Java PathFinder is a tool developed in the RSE area for analyzing Java programs using model checking, a computer science system analysis technique whose originators recently were awarded the ACM Turing Award. Java PathFinder is itself a winner of a 2003 NASA TGIR (Turning Goals Into Reality) award. Peter Mehlitz in the RSE area developed a framework to express UML models in Java, and enhanced JPF to perform analysis on such models.
NASA PROGRAM FUNDING: Exploration Technology Development Program (ETDP), Crew Exploration Vehicle
Contact: Tom Pressburger