0 / 0
00:00

RACE

building airspace simulations faster and better with actors

https://github.com/nasarace/race

~


SGT Inc, NASA Ames Research Center

Slides

Targeted Application Domain

Main Design Drivers

uniform programming model for components supporting:

Foundation: Actor Programming Model

Actor Implementation in RACE

   class ProbeActor (config: Config) extends SubscribingRaceActor {
     def handleMessage = {
       case BusEvent(channel,msg,sender) => println(msg)
     }
   }

RaceActors

Actors don't live in a vacuum - RaceActorSystems

  1. RemoteMain driver instantiating RaceActorSystem with config
  2. RaceActorSystem instantiating Master actor
  3. Master actor instantiating configured RaceActors

Everything is configured

Configuration is declarative DSL

configs define graphs:

Example Schematics

Example Screenshot

live demo

Example Numbers

application domain:

implementation:

Lessons Learned

RACE scales!

Extra Topics

RaceActors/Systems support Location Transparency

Data on Demand - ChannelTopics

RaceViewer Visualization - WorldWind in an Actor