A: Mission Control Technologies is an extensible, cross-platform architecture that enables software systems to be assembled in a single integrated environment from flexible collections of components and services. MCT presents users with a single integrated user environment containing software user objects that are composable and shareable. Applications are built as compositions of “live objects” that can be combined in different ways for different users and missions as required.
Q: How is this different from traditional approaches?
A: Traditional software is application-oriented. This means it is based on separate applications for different purposes, with different interfaces, data formats, and degrees of interoperability with each other. MCT takes a user-oriented approach, allowing users to deal with different data types and representations from a single interface that reflects their needs and uses of the data.
Q: Who is MCT designed for?
A: MCT was developed both as a generic framework for developers and as a specific application for Johnson Space Center's Mission Control Center, but the MCT platform is easily adaptable to other users and domains, both inside and outside the aerospace community. The existing MCT platform is especially well suited to data monitoring tasks and can be extended with plugins to perform control functions.
Q: What is a user object?
A: a discrete “thing” that an MCT user can view and/or manipulate. MCT user objects are designed to mirror the data and behavior of their real-world counterparts. Each user object has one or more views that fill a given manifestation. Examples of user objects in the space domain are telemetry, events, timelines, procedure steps, and procedures, but many other types of user objects are possible. All MCT user objects behave similarly, no matter whether they are part of the base MCT system or domain-specific components added by developers.
Q: So what is a manifestation?
A: a representation of a user object that presents the information or a portion of the information that the object contains in a view available for that object. Just one example of a manifestation is a window.
Q: And what is a view?
A: the visual representation of a user object presented in a manifestation of that object. The views available will depend on the properties of the object selected. The basic views available in the MCT platform are:
A: a group of MCT objects that can be viewed and formatted as a unit. MCT treats collections as it does any other user object.
Q: What is a composition?
A: a grouping of MCT objects and/or collections in a canvas view. You can compose objects in any way permitted by policy. You can also add static graphics to your compositions.
Q: What are policies?
A: MCT rules governing what user actions are and are not permitted. By default, the MCT platform includes only policies needed to coordinate the user interface. Developers or administrators can implement additional policies. Policies can apply to individual users, groups of users, or MCT collections and other objects.
Q: Got apps?
A: No, we've got plug-ins that integrate seamlessly with MCT. The MCT framework comes with plug-ins that implement the platform's basic functionality, but you can write your own and add others. To expand or change the functionality of the system, simply add plug-ins that implement new objects, views, or data sources. Any new object will be consistent with the environment and all existing objects. As the MCT open source project expands, we expect additional plug-ins to be available from third-party developers.
Q: How the plugins integrated and installed?
A: MCT plug-ins are integrated through the OSGi Java interface. Each plug-in is packaged as an OSGi bundle in a Java .jar file that is recognized by MCT when it is added to the /plugins directory. The particular OSGi services the plug-in provides depend on the purpose of the plug-in.
Q: What if I need a new kind of user object?
A: Just write a new plugin for it. If Java supports it, MCT probably will support it too.
Q: What if I need an additional data source?
A: MCT provides a built-in component for the display of telemetry data, with a sine wave generator providing a simulated data source. If you are using MCT to monitor live data, you will need to add at least one telemetry adapter.
Q: How do I report issues with MCT?
A: Users can report issues on the Open MCT forum.
Developers can report issues on the Github issue tracker at https://github.com/nasa/mct/issues