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

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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 productivityPrincipled Technologies
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
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 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
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 Scriptwesley chun
 
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...Miguel Araújo
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
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 2024Rafal Los
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
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...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+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...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

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