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

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 heavenPatrick Chanezon
 
Proud to be polyglot!
Proud to be polyglot!Proud to be polyglot!
Proud to be polyglot!NLJUG
 
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 MicroservicesDaniel Bryant
 
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 documentsClaudio Beatrice
 
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
 
Community-Driven Graphs with JanusGraph
Community-Driven Graphs with JanusGraphCommunity-Driven Graphs with JanusGraph
Community-Driven Graphs with JanusGraphJason Plurad
 
GitHub Notable OSS Project
GitHub  Notable OSS ProjectGitHub  Notable OSS Project
GitHub Notable OSS Projectroumia
 
Cloud4all Architecture Overview
Cloud4all Architecture OverviewCloud4all Architecture Overview
Cloud4all Architecture Overviewicchp2012
 
Cool shits javascript can do
Cool shits javascript can doCool shits javascript can do
Cool shits javascript can doalexdong
 
Custom Android Code Templates
Custom Android Code TemplatesCustom Android Code Templates
Custom Android Code Templatesmurphonic
 
Internship dotCloud
Internship dotCloudInternship dotCloud
Internship dotCloudJill Mee
 
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 ApplicationMark Halvorson
 
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 pinterestdrewz lin
 
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...Docker, Inc.
 
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"Daniel Bryant
 
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"Daniel Bryant
 
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 stylesheetchriseppstein
 
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?Stefan Marr
 
Bundling Client Side Assets
Bundling Client Side AssetsBundling Client Side Assets
Bundling Client Side AssetsTimothy 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

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 

Recently uploaded (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 

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