Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Topcoder Open MCT Notebook Demo

NotificationsYou must be signed in to change notification settings

topcoderinc/openmct

 
 

Repository files navigation

Open MCT (Open Mission Control Technologies) is a next-generation mission control framework for visualization of data on desktop and mobile devices. It is developed at NASA's Ames Research Center, and is being used by NASA for data analysis of spacecraft missions, as well as planning and operation of experimental rover systems. As a generalizable and open source framework, Open MCT could be used as the basis for building applications for planning, operation, and analysis of any systems producing telemetry data.

Please visit ourOfficial Site andGetting Started Guide

See Open MCT in Action

Try Open MCT now with ourlive demo.Demo

New API

A simpler,easier-to-use APIhas been added to Open MCT. Changes in thisAPI include a move away from a declarative system of JSON configuration filestowards an imperative system based on function calls. Developers will be ableto extend and build on Open MCT by making direct function calls to a publicAPI. Open MCT is also being refactored to minimize the dependencies that usingOpen MCT imposes on developers, such as the current requirement to useAngularJS.

This new API has not yet been heavily used and is likely to contain defects.You can help by trying it out, and reporting any issues you encounterusing our GitHub issue tracker. Such issues may include bugs, suggestions,missing documentation, or even just requests for help if you're havingtrouble.

We want Open MCT to be as easy to use, install, run, and develop for aspossible, and your feedback will help us get there!

Building and Running Open MCT Locally

Building and running Open MCT in your local dev environment is very easy. Be sure you haveGit andNode.js installed, then follow the directions below. Need additional information? Check out theGetting Started page on our website.(These instructions assume you are installing as a non-root user; developers havereported issues running these steps with root privileges.)

  1. Clone the source code

git clone https://github.com/nasa/openmct.git

  1. Install development dependencies

npm install

  1. Run a local development server

npm start

Open MCT is now running, and can be accessed by pointing a web browser athttp://localhost:8080/

Documentation

Documentation is available on theOpen MCT website. The documentation can also be built locally.

Examples

The clearest examples for developing Open MCT plugins are in thetutorials provided inour documentation.

For a practical example of a telemetry adapter, see David Hudson'sKerbal Space Program plugin,which allowsKerbal Space Program playersto build and use displays for their own missions in Open MCT.

Additional examples are available in theexamples hierarchy of thisrepository; however, be aware that these examples arenot fully-documented, sothe tutorials will likely serve as a better starting point.

Building the Open MCT Documentation Locally

Open MCT's documentation is generated by annpm-based build. It has additional dependencies thatmay not be available on every platform and thus is not covered in the standardnpm install. Ensure your system haslibcairoinstalled and then run the following commands:

  • npm install
  • npm install canvas nomnoml
  • npm run docs

Documentation will be generated intarget/docs.

Deploying Open MCT

Open MCT is built usingnpmandgulp.

To build Open MCT for deployment:

npm run prepublish

This will compile and minify JavaScript sources, as well as copy over assets.The contents of thedist folder will contain a runnable Open MCTinstance (e.g. by starting an HTTP server in that directory), including:

  • Amain.js file containing Open MCT source code.
  • Various assets in theexample andplatform directories.
  • Anindex.html that runs Open MCT in its default configuration.

Additionalgulp tasks are defined inthe gulpfile.

Bundles

A bundle is a group of software components (including source code, declaredas AMD modules, as well as resources such as images and HTML templates)that is intended to be added or removed as a single unit. A plug-in forOpen MCT will be expressed as a bundle; platform components are alsoexpressed as bundles.

A bundle is also just a directory which contains a filebundle.json,which declares its contents.

The filebundles.json (note the plural), at the top level of therepository, is a JSON file containing an array of all bundles (expressed asdirectory names) to include in a running instance of Open MCT. Adding orremoving paths from this list will add or remove bundles from the runningapplication.

Tests

Tests are written forJasmine 1.3and run byKarma. To run:

npm test

The test suite is configured to load any scripts ending withSpec.js foundin thesrc hierarchy. Full configuration details are found inkarma.conf.js. By convention, unit test scripts should be locatedalongside the units that they test; for example,src/foo/Bar.js would betested bysrc/foo/BarSpec.js. (For legacy reasons, some existing tests maybe located in separatetest folders near the units they test, but thenaming convention is otherwise the same.)

Test Reporting

Whennpm test is run, test results will be written as HTML totarget/tests. Code coverage information is written totarget/coverage.

Glossary

Certain terms are used throughout Open MCT with consistent meaningsor conventions. Any deviations from the below are issues and should beaddressed (either by updating this glossary or changing code to reflectcorrect usage.) Other developer documentation, particularly in-linedocumentation, may presume an understanding of these terms.

  • bundle: A bundle is a removable, reusable grouping of software elements.The application is composed of bundles. Plug-ins are bundles. For moreinformation, refer to framework documentation (underplatform/framework.)
  • capability: An object which exposes dynamic behavior or non-persistentstate associated with a domain object.
  • composition: In the context of a domain object, this refers to the set ofother domain objects that compose or are contained by that object. A domainobject's composition is the set of domain objects that should appearimmediately beneath it in a tree hierarchy. A domain object's composition isdescribed in its model as an array of id's; its composition capabilityprovides a means to retrieve the actual domain object instances associatedwith these identifiers asynchronously.
  • description: When used as an object property, this refers to the human-readabledescription of a thing; usually a single sentence or short paragraph.(Most often used in the context of extensions, domainobject models, or other similar application-specific objects.)
  • domain object: A meaningful object to the user; a distinct thing inthe work support by Open MCT. Anything that appears in the left-handtree is a domain object.
  • extension: An extension is a unit of functionality exposed to theplatform in a declarative fashion by a bundle. For moreinformation, refer to framework documentation (underplatform/framework.)
  • id: A string which uniquely identifies a domain object.
  • key: When used as an object property, this refers to the machine-readableidentifier for a specific thing in a set of things. (Most often used in thecontext of extensions or other similar application-specific object sets.)
  • model: The persistent state associated with a domain object. A domainobject's model is a JavaScript object which can be converted to JSONwithout losing information (that is, it contains no methods.)
  • name: When used as an object property, this refers to the human-readablename for a thing. (Most often used in the context of extensions, domainobject models, or other similar application-specific objects.)
  • navigation: Refers to the current state of the application with respectto the user's expressed interest in a specific domain object; e.g. whena user clicks on a domain object in the tree, they arenavigating toit, and it is thereafter considered thenavigated object (until theuser makes another such choice.)
  • space: A name used to identify a persistence store. Interactions withpersistence will generally involve aspace parameter in some form, todistinguish multiple persistence stores from one another (for caseswhere there are multiple valid persistence locations available.)

About

Topcoder Open MCT Notebook Demo

Resources

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript87.4%
  • CSS6.4%
  • HTML6.2%

[8]ページ先頭

©2009-2025 Movatter.jp