SlideShare a Scribd company logo
1 of 20
Download to read offline
Open MCT
                          Graduate CS Seminar
                           SF State University


                                  Jay Trimble
                             NASA Ames Research Center
                                     10-3-12




Saturday, October 6, 12
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.gov
Saturday, October 6, 12
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.gov
Saturday, October 6, 12
The NASA MCC Domain




  https://github.com/nasa/mct    jay.p.trimble@nasa.gov
Saturday, October 6, 12
Traditional Software




  https://github.com/nasa/mct                      jay.p.trimble@nasa.gov
Saturday, October 6, 12
Duplicate Functionality




  https://github.com/nasa/mct          jay.p.trimble@nasa.gov
Saturday, October 6, 12
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.gov
Saturday, October 6, 12
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.gov
Saturday, October 6, 12
Component Granularity



                                                          Medium Granularity
    Large Granularity                        Components




                          Fine Granularity
                                                                                    7
  https://github.com/nasa/mct                                        jay.p.trimble@nasa.gov
Saturday, October 6, 12
Bloat Reduction


                                        Text
                                         Text



                          Out of Many           One



  https://github.com/nasa/mct                         jay.p.trimble@nasa.gov
Saturday, October 6, 12
Developers-Designers-Users




                                Figure courtesy IBM, modified with permission

  https://github.com/nasa/mct                                                  jay.p.trimble@nasa.gov
Saturday, October 6, 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.gov
Saturday, October 6, 12
“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.gov
Saturday, October 6, 12
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.gov
Saturday, October 6, 12
One Object Multiple Views
                                Alpha View



                                Plot View




                                Info View




  https://github.com/nasa/mct                jay.p.trimble@nasa.gov
Saturday, October 6, 12
Compose
User objects
dragged in to
custom group

 Group
 within a
  group




  https://github.com/nasa/mct             jay.p.trimble@nasa.gov
Saturday, October 6, 12
The Same Thing Everywhere




  https://github.com/nasa/mct   jay.p.trimble@nasa.gov
Saturday, October 6, 12
Menus




                                        





  https://github.com/nasa/mct               jay.p.trimble@nasa.gov
Saturday, October 6, 12
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.gov
Saturday, October 6, 12
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.gov
Saturday, October 6, 12

More Related Content

Similar to Open Mission Control Technologies

Proud to be polyglot!
Proud to be polyglot!Proud to be polyglot!
Proud to be polyglot!
NLJUG
 
Node.js, toy or power tool?
Node.js, toy or power tool?Node.js, toy or power tool?
Node.js, toy or power tool?
Ovidiu Dimulescu
 
GitHub Notable OSS Project
GitHub  Notable OSS ProjectGitHub  Notable OSS Project
GitHub Notable OSS Project
roumia
 
Custom Android Code Templates
Custom Android Code TemplatesCustom Android Code Templates
Custom Android Code Templates
murphonic
 
Internship dotCloud
Internship dotCloudInternship dotCloud
Internship dotCloud
Jill Mee
 
Pinterest arch summit august 2012 - scaling pinterest
Pinterest arch summit   august 2012 - scaling pinterestPinterest arch summit   august 2012 - scaling pinterest
Pinterest arch summit august 2012 - scaling pinterest
drewz lin
 
Bundling Client Side Assets
Bundling Client Side AssetsBundling Client Side Assets
Bundling Client Side Assets
Timothy Oxley
 

Similar to Open Mission Control Technologies (20)

CloudFoundry and MongoDb, a marriage made in heaven
CloudFoundry and MongoDb, a marriage made in heavenCloudFoundry and MongoDb, a marriage made in heaven
CloudFoundry and MongoDb, a marriage made in heaven
 
Proud to be polyglot!
Proud to be polyglot!Proud to be polyglot!
Proud to be polyglot!
 
JAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
JAXDevOps 2017 "The Seven (More) Deadly Sins of MicroservicesJAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
JAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
 
Drupal and the rise of the documents
Drupal and the rise of the documentsDrupal and the rise of the documents
Drupal and the rise of the documents
 
Node.js, toy or power tool?
Node.js, toy or power tool?Node.js, toy or power tool?
Node.js, toy or power tool?
 
Community-Driven Graphs with JanusGraph
Community-Driven Graphs with JanusGraphCommunity-Driven Graphs with JanusGraph
Community-Driven Graphs with JanusGraph
 
GitHub Notable OSS Project
GitHub  Notable OSS ProjectGitHub  Notable OSS Project
GitHub Notable OSS Project
 
Cloud4all Architecture Overview
Cloud4all Architecture OverviewCloud4all Architecture Overview
Cloud4all Architecture Overview
 
Cool shits javascript can do
Cool shits javascript can doCool shits javascript can do
Cool shits javascript can do
 
Custom Android Code Templates
Custom Android Code TemplatesCustom Android Code Templates
Custom Android Code Templates
 
Internship dotCloud
Internship dotCloudInternship dotCloud
Internship dotCloud
 
Go! Go! Gadgets. Writing an OpenSocial Application
Go! Go! Gadgets.  Writing an OpenSocial ApplicationGo! Go! Gadgets.  Writing an OpenSocial Application
Go! Go! Gadgets. Writing an OpenSocial Application
 
Pinterest arch summit august 2012 - scaling pinterest
Pinterest arch summit   august 2012 - scaling pinterestPinterest arch summit   august 2012 - scaling pinterest
Pinterest arch summit august 2012 - scaling pinterest
 
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
DCEU 18: Continuous Delivery with Docker Containers and Java: The Good, the B...
 
DockerCon EU 2018 "Continuous Delivery with Docker and Java"
DockerCon EU 2018 "Continuous Delivery with Docker and Java"DockerCon EU 2018 "Continuous Delivery with Docker and Java"
DockerCon EU 2018 "Continuous Delivery with Docker and Java"
 
muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"
 
SassConf: It takes a village to raise a stylesheet
SassConf: It takes a village to raise a stylesheetSassConf: It takes a village to raise a stylesheet
SassConf: It takes a village to raise a stylesheet
 
Why Is Concurrent Programming Hard? And What Can We Do about It?
Why Is Concurrent Programming Hard? And What Can We Do about It?Why Is Concurrent Programming Hard? And What Can We Do about It?
Why Is Concurrent Programming Hard? And What Can We Do about It?
 
Fast mobile web apps
Fast mobile web appsFast mobile web apps
Fast mobile web apps
 
Bundling Client Side Assets
Bundling Client Side AssetsBundling Client Side Assets
Bundling Client Side Assets
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Open Mission Control Technologies

  • 1. Open MCT Graduate CS Seminar SF State University Jay Trimble NASA Ames Research Center 10-3-12 Saturday, October 6, 12
  • 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.gov Saturday, October 6, 12
  • 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.gov Saturday, October 6, 12
  • 4. The NASA MCC Domain https://github.com/nasa/mct jay.p.trimble@nasa.gov Saturday, October 6, 12
  • 5. Traditional Software https://github.com/nasa/mct jay.p.trimble@nasa.gov Saturday, October 6, 12
  • 6. Duplicate Functionality https://github.com/nasa/mct jay.p.trimble@nasa.gov Saturday, October 6, 12
  • 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.gov Saturday, October 6, 12
  • 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.gov Saturday, October 6, 12
  • 9. Component Granularity Medium Granularity Large Granularity Components Fine Granularity 7 https://github.com/nasa/mct jay.p.trimble@nasa.gov Saturday, October 6, 12
  • 10. Bloat Reduction Text Text Out of Many One https://github.com/nasa/mct jay.p.trimble@nasa.gov Saturday, October 6, 12
  • 11. Developers-Designers-Users Figure courtesy IBM, modified with permission https://github.com/nasa/mct jay.p.trimble@nasa.gov Saturday, October 6, 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.gov Saturday, October 6, 12
  • 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.gov Saturday, October 6, 12
  • 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.gov Saturday, October 6, 12
  • 15. One Object Multiple Views Alpha View Plot View Info View https://github.com/nasa/mct jay.p.trimble@nasa.gov Saturday, October 6, 12
  • 16. Compose User objects dragged in to custom group Group within a group https://github.com/nasa/mct jay.p.trimble@nasa.gov Saturday, October 6, 12
  • 17. The Same Thing Everywhere https://github.com/nasa/mct jay.p.trimble@nasa.gov Saturday, October 6, 12
  • 18. Menus 
 https://github.com/nasa/mct jay.p.trimble@nasa.gov Saturday, October 6, 12
  • 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.gov Saturday, October 6, 12
  • 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.gov Saturday, October 6, 12