How Do I Rate This?
The blue stars show the average user rating for this item. To add your own rating, move your cursor over the stars to highlight them in gold, and click to show your rating. One star highlighted is the lowest rating, all five is the highest. Once you have rated an item, your rating is added to the average.
Lifecycle Software and System Development
With the rising complexity of mission software, the distinctiveness of each mission, and the funding constraints that come along with each project, JPL has been challenged to produce state-of-the art software on schedule and within budget. JPL's software and system engineers have been working to establish practices to reuse and redevelop software when possible to reduce costs while ensuring the robustness of software packages that are retested and redeployed with each use.
Systems engineers have typically described software systems differently from their software engineering peers, and this frequently leads to incomplete or ambiguous communication. However, software engineering and systems engineering remain highly interdependent. Systems engineers must understand what the system must do (and document this understanding in the form of system specifications), while software engineers must design how the system will do it (and realize the design in implemented software artifacts). As an ever-increasing element of system design, this relationship has become quite problematic.
JPL has rigorous standard for its software development, as set forth by its Software Quality Improvement (SQI) project. In September 2007 the Lab met its goal of operating at CMMI Maturity Level 3 across the entire Engineering and Science Directorate (ESD), largely due to SQI’s efforts in setting standards for software standards and usability.
Samples of Current Efforts
Mission Data Systems (MDS)
The MDS Project was chartered with rethinking the entire mission software lifecycle. MDS confronts the growing interdependence between systems and software engineering with a more integrated approach to engineering complex systems. The MDS architecture provides the means for software engineers and systems engineers to communicate through a common language, and thus bridges the traditional gap between software requirements and software design and implementation. State Analysis augments this architecture with a principled methodology for developing and specifying system capability in terms defined by the architecture, and the MDS frameworks, embodying the architecture, simplify the translation of these specifications into software implementation. As a result, software engineers and systems engineers share a common model-based approach to defining, describing, developing, understanding, verifying, validating, operating, and visualizing what systems do. The net result is systems that are more reliable, cost-effective, and reusable.
Although the architecture patterns were first envisioned for use in space systems, they are widely applicable to control problems in other fields. They are particularly well suited for systems having complex interactions and dynamics, and which must continue operating in the presence of failures and other unpredictable events.
Reliable Software
The JPL Laboratory for Reliable Software (LaRS) was created to achieve long term improvements in the reliability of JPL's mission critical software systems through the pursuit of a research, development, and application program, targeting the development of relevant theory and tools that benefit JPL software development. Topics of interest for the Lab include new and existing software testing and verification strategies based on:
requirements capture, analysis, and tracking
design verification
static analysis
logic model checking
automata based testing
runtime monitoring and verification
software quality and reliability metrics
auto coding techniques
verification of AI-based planners
verification of fault protection code
fault tolerance, fault containment, survivability
Selected Research Projects
CMSV-Engineering Framework
Computing, modeling, simulation, and visualization (CMSV) technologies are essential elements in the multi-disciplinary collaborative engineering process. In order to effectively utilize a wide range of legacy discipline models and foster a model-based engineering-design environment at JPL, the CMSV-Engineering Framework (CMSV-EF) has developed a set of interdisciplinary engineering-service mechanisms so that a complex system can be rapidly integrated using subsystem models, virtually operated in a wide range of hypothetical environments, and comprehensively validated by all design teams. The technologies developed under the CMSV-EF task have been infused into the Juno mission, for which it will provide a lifecycle-wide mission simulation integrating the models from all disciplines.
The impact of Jupiter’s radiation environment on spacecraft and instruments (an example of innovative multi-discipline model integration)
Library of Reusable CMSV Tools
This is an operational model library capable of providing secure access to geographically distributed repositories of models, either through the Internet or through an electronic interface. The current configuration provides access to about 72,000 models from the Team Center Enterprise, Docushare, MSIM and OODT collections. JPL users can access the system by typing “SEEMORE” in their web browsers. The ultimate objective is to create a comprehensive library of ground software tools that are available at JPL. This will enable tools that have already been developed to be accessed for reference and reused for new projects where appropriate, reducing the need to build from scratch and thereby saving time and money.