
Downloaded from websites across the globe, 8 million PDFs have been assembled by JPL data scientists into an archive representing the largest sample of the file type. Researchers can use the archive to better understand online threats, address privacy vulnerabilities, and identify software compatibility problems.
Mission Data System
MDS Overview
The Mission Data System (MDS) is a set of methodologies and technologies for the design and development of control system applications — including large distributed systems, and systems-of-systems applications. It was originally designed for spacecraft control, but has broad applicability to many fields of endeavor, wherever complex control issues arise.
MDS technologies include:
- Canonical State-based and Model-based Architecture grounded in established control system ontology and principles.
- A companion model-based control systems engineering methodology, called State Analysis, for developing and documenting requirements and other design artifacts.
- Software that complement the MDS State Analysis methodology and the canonical architecture, simplifying the implementation of software applications based on these patterns.
- A schema for implementing tools to capture State Analysis artifacts.
The MDS Approach
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 software becomes a dominant contributor to system capability, this relationship has become quite problematic.
MDS confronts this 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 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.
As mentioned above, although the architecture patterns were first envisioned for use in space systems, they are widely applicable to other fields. They are particularly suitable for systems having complex interactions and dynamics, which must continue operating in the presence of failures and other unpredictable events.
MDS Objectives
The present state of systems and software engineering practice does not adequately address the needs of software-intensive, mission-critical control systems. This applies broadly across aerospace, energy, transportation, and other sectors. For example, current practice is generally weak in reasoning about key system-level concerns like fault protection and autonomy, both of which have a significant impact on implementation, testing, and operations.
The MDS project was formed in 1998 to address these limitations. Here are a few of the key issues the MDS team was chartered to address:
- Frequent misunderstandings between system engineers and software engineers caused by mismatched system abstractions; the resultant flawed translation frequently leads to defects.
- Awkward operational mechanisms; system operation is complicated, limiting and error prone.
- Daunting system issues caused by the large number of interacting system states; validation is ad hoc, incomplete and piecemeal.
- Large uncertainty in plans for system development and integration; cost and schedule are frequently underestimated.
In response to these issues, the MDS team developed a principled architectural approach that addresses control issues at a fundamental level, while introducing essential, unifying structure into the engineering and design processes. This approach provides the foundation for a new class of model-based systems and software engineering methodologies and tools needed to manage requirements emerging in the next generation of mission critical systems.
MDS Themes
Model-based Engineering
Models are key to having a common and complete understanding of the system under control, so mathematical modeling has long been a part of control systems engineering. Traditionally, mathematical or conceptual models have been used to inform a design, but typically not in a way that is directly apparent within the implementation (with a few notable exceptions). Making models more broadly explicit in both the design and the implementation helps to ensure consistency, and to clarify dependencies on the models.
Software Architectures
Software architectures and architectural patterns define rules governing the entities in a system, their roles, and their interactions. The rules are intended to encourage good practice, avoid known risks, maintain design integrity, and enable higher-level analysis and verification of a system that would not be possible in a less structured design.
Principled Methodology
The State Analysis process provides a formal methodology for decomposing complex systems according to the interacting states of the system, and their models of behavior. Based on widely-used principles of model-based systems engineering, control system theory, and software engineering, this process helps to improve collaboration between systems engineers, who define system requirements, and software engineers, who implement them, by providing a framework for the unambiguous and thorough communication of requirements.
MDS Architecture Complete Description
For a more complete description of the MDS Architecture and associated methodologies, please refer to the following paper:
Ingham, M., Rasmussen, R., Bennett, M., and Moncada, A., “Engineering Complex Embedded Systems with State Analysis and the Mission Data System”, AIAA Journal of Aerospace Computing, Information and Communication, Vol. 2, No. 12, Dec. 2005, pp. 507-536.
+ PDF
CL#04-2815
Legal Notice
All MDS Framework artifacts and State Analysis artifacts except for source code and object code have been designated by the California Institute of Technology (Caltech) as Technology and Software Publicly Available (TSPA). Copyright 2005. The copyrights and patents related to this technology are owned by Caltech. United States Government sponsorship acknowledged.
CL#26-2091