Open MCT                          Graduate CS Seminar                           SF State University                       ...
MCT                     • MCT is a software platform that enables:                      • Users to compose their own displ...
Differentiators                     • Key problems we are trying to solve                      • Operator inflexibility/ine...
The NASA MCC Domain  https://github.com/nasa/mct    jay.p.trimble@nasa.govSaturday, October 6, 12
Traditional Software  https://github.com/nasa/mct                      jay.p.trimble@nasa.govSaturday, October 6, 12
Duplicate Functionality  https://github.com/nasa/mct          jay.p.trimble@nasa.govSaturday, October 6, 12
Mission Control Technologies  • Instead of    monolithic apps,    build software out of    composable pieces  • Key featur...
MCT Architecture                   Fine-grained                   components                   Multiple                   ...
Component Granularity                                                          Medium Granularity    Large Granularity    ...
Bloat Reduction                                        Text                                         Text                  ...
Developers-Designers-Users                                Figure courtesy IBM, modified with permission  https://github.com...
What is MCT                          • Software assembled from groups of                            manipulatable “things”...
“Things”    • Components are the fundamental entity in MCT            • This is an implementors model    • Users (most) ar...
User Objects                                  User Objects                          Inspect, Multiple Views   Open user ob...
One Object Multiple Views                                Alpha View                                Plot View              ...
ComposeUser objectsdragged in tocustom group Group within a  group  https://github.com/nasa/mct             jay.p.trimble@...
The Same Thing Everywhere  https://github.com/nasa/mct   jay.p.trimble@nasa.govSaturday, October 6, 12
Menus                                        
  https://github.com/nasa/mct               jay.p.trimble@nasa.govSaturday, ...
Objects                          • “Developer” Objects    User Objects                                                   A...
OO GUI                 • Contrast with procedural style GUI                          • Procedural style GUI is tasked base...
Upcoming SlideShare
Loading in …5
×

Open Mission Control Technologies

1,072 views

Published on

Graduate Computer Science Seminar, San Francisco State University

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,072
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Open Mission Control Technologies

  1. 1. Open MCT Graduate CS Seminar SF State University Jay Trimble NASA Ames Research Center 10-3-12Saturday, October 6, 12
  2. 2. 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 https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  3. 3. Differentiators • Key problems we are trying to solve • Operator inflexibility/inefficiency • Operational Stovepipes • Feature accumulation (bloat) and maintenance issues https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  4. 4. The NASA MCC Domain https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  5. 5. Traditional Software https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  6. 6. Duplicate Functionality https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  7. 7. 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 https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  8. 8. MCT Architecture Fine-grained components Multiple representations and views “Live” Objects Compositions Roles Information Model 6 https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  9. 9. Component Granularity Medium Granularity Large Granularity Components Fine Granularity 7 https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  10. 10. Bloat Reduction Text Text Out of Many One https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  11. 11. Developers-Designers-Users Figure courtesy IBM, modified with permission https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  12. 12. What is MCT • Software assembled from groups of manipulatable “things” • Software assembled from user object compositions • MCT component model and services https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  13. 13. “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 https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  14. 14. User Objects User Objects Inspect, Multiple Views Open user object group in window Open user object in window https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  15. 15. One Object Multiple Views Alpha View Plot View Info View https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  16. 16. ComposeUser objectsdragged in tocustom group Group within a group https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  17. 17. The Same Thing Everywhere https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  18. 18. Menus 
 https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  19. 19. Objects • “Developer” Objects User Objects A “thing” I can view, • Define the characteristics of a manipulate, compose “thing” A “thing” is the same thing everywhere • State & Behavior Consistent behavior • Poymorphism Inspectable • Encapsulation • Inheritance https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12
  20. 20. 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 https://github.com/nasa/mct jay.p.trimble@nasa.govSaturday, October 6, 12

×