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

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 

Recently uploaded (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+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...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 

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