open mission control technologies

20
Open MCT Graduate CS Seminar SF State University Jay Trimble NASA Ames Research Center 10-3-12 Saturday, October 6, 12

Upload: jtrimble25

Post on 28-Nov-2014

911 views

Category:

Technology


0 download

DESCRIPTION

Graduate Computer Science Seminar, San Francisco State University

TRANSCRIPT

Page 1: Open Mission Control Technologies

Open MCT

Graduate CS SeminarSF State University

Jay TrimbleNASA Ames Research Center

10-3-12

Saturday, October 6, 12

Page 2: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

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

Page 3: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

Differentiators

• Key problems we are trying to solve

• Operator inflexibility/inefficiency

• Operational Stovepipes

• Feature accumulation (bloat) and maintenance issues

Saturday, October 6, 12

Page 5: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

Traditional Software

Saturday, October 6, 12

Page 6: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

Duplicate Functionality

Saturday, October 6, 12

Page 7: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

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

Page 8: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

6

MCT ArchitectureFine-grained components

Multiple representations and views

“Live” Objects

Compositions

Roles

Information Model

Saturday, October 6, 12

Page 9: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

7

Component Granularity

Medium Granularity

Fine Granularity

Large Granularity Components

Saturday, October 6, 12

Page 10: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

Bloat Reduction

TextText

Out of Many One

Saturday, October 6, 12

Page 11: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

Developers-Designers-Users

Figure courtesy IBM, modified with permission

Saturday, October 6, 12

Page 12: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

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

Page 13: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

“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

Page 14: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

User ObjectsUser Objects

Inspect, Multiple Views Open user object group in window

Open user object in window

Saturday, October 6, 12

Page 15: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

One Object Multiple ViewsAlpha View

Plot View

Info View

Saturday, October 6, 12

Page 16: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

ComposeUser objects dragged in to custom group

Group within a group

Saturday, October 6, 12

Page 19: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

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

Page 20: Open Mission Control Technologies

https://github.com/nasa/mct [email protected]

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