open mission control technologies

Post on 28-Nov-2014

912 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Graduate Computer Science Seminar, San Francisco State University

TRANSCRIPT

Open MCT

Graduate CS SeminarSF State University

Jay TrimbleNASA Ames Research Center

10-3-12

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

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

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

Differentiators

• Key problems we are trying to solve

• Operator inflexibility/inefficiency

• Operational Stovepipes

• Feature accumulation (bloat) and maintenance issues

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

The NASA MCC Domain

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

Traditional Software

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

Duplicate Functionality

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

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

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

6

MCT ArchitectureFine-grained components

Multiple representations and views

“Live” Objects

Compositions

Roles

Information Model

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

7

Component Granularity

Medium Granularity

Fine Granularity

Large Granularity Components

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

Bloat Reduction

TextText

Out of Many One

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

Developers-Designers-Users

Figure courtesy IBM, modified with permission

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

What is MCT

• Software assembled from groups of manipulatable “things”

• Software assembled from user object compositions

• MCT component model and services

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

“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

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

User ObjectsUser Objects

Inspect, Multiple Views Open user object group in window

Open user object in window

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

One Object Multiple ViewsAlpha View

Plot View

Info View

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

ComposeUser objects dragged in to custom group

Group within a group

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

The Same Thing Everywhere

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

Menus

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

Objects• “Developer” Objects

• Define the characteristics of a “thing”

• State & Behavior

• Poymorphism

• Encapsulation

• Inheritance

User Objects

A “thing” I can view, manipulate, compose

A “thing” is the same thing everywhere

Consistent behavior

Inspectable

Saturday, October 6, 12

https://github.com/nasa/mct jay.p.trimble@nasa.gov

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

Saturday, October 6, 12

top related