open mission control technologies
Post on 28-Nov-2014
912 Views
Preview:
DESCRIPTION
TRANSCRIPT
Open MCT
Graduate CS SeminarSF State University
Jay TrimbleNASA Ames Research Center
10-3-12
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
MCT
• MCT is a software platform that enables:
• Users to compose their own displays of shareable user objects
• Developers to add functionality using OSGi plug-ins
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
Differentiators
• Key problems we are trying to solve
• Operator inflexibility/inefficiency
• Operational Stovepipes
• Feature accumulation (bloat) and maintenance issues
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
The NASA MCC Domain
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
Traditional Software
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
Duplicate Functionality
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
Mission Control Technologies• Instead of
monolithic apps, build software out of composable pieces
• Key features
• Fine-grained components
• “Live” - edit in place
• Composable
• Multiple representations
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
6
MCT ArchitectureFine-grained components
Multiple representations and views
“Live” Objects
Compositions
Roles
Information Model
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
7
Component Granularity
Medium Granularity
Fine Granularity
Large Granularity Components
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
Bloat Reduction
TextText
Out of Many One
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
Developers-Designers-Users
Figure courtesy IBM, modified with permission
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
What is MCT
• Software assembled from groups of manipulatable “things”
• Software assembled from user object compositions
• MCT component model and services
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
“Things”
• Components are the fundamental entity in MCT
• This is an implementors model
• Users (most) are thinking about what they can use and manipulate
• User object - “Things” that users can manipulate
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
User ObjectsUser Objects
Inspect, Multiple Views Open user object group in window
Open user object in window
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
One Object Multiple ViewsAlpha View
Plot View
Info View
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
ComposeUser objects dragged in to custom group
Group within a group
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
The Same Thing Everywhere
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
Menus
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
Objects• “Developer” Objects
• Define the characteristics of a “thing”
• State & Behavior
• Poymorphism
• Encapsulation
• Inheritance
User Objects
A “thing” I can view, manipulate, compose
A “thing” is the same thing everywhere
Consistent behavior
Inspectable
Saturday, October 6, 12
https://github.com/nasa/mct jay.p.trimble@nasa.gov
OO GUI
• Contrast with procedural style GUI
• Procedural style GUI is tasked based, supporting a particular set of tasks
• OO Style GUI is a set of cooperating user objects that may be composed to facilitate the performance of many tasks
Saturday, October 6, 12
top related