Understanding the system software architecture
Companion consists of the following components, termed modules:

system memory
  afterglow (beacon and auxiliary power)
  ambiance (teleports, sparks, sound settings, volume control)
  balance (configuration storage, pipes)
  bonds (RLV management for subsystems)
  coil (charging interface)
  compliance (policy and navigation management)
  cortex (communications pipeline, personas)
  exhibition-core (menu organization)
  exhibition-{tty, dwm, etc.} (menu presentation)
  foundation (startup, shutdown, other BIOS functions)
  hierarchy (guest access, domain interaction)
  obedience (manual, commands index, misc security)
  power (subsystem and battery manager)
  puppet (remote control and device manager)
  sentinel (ATOS/E security enhancements)
  submission (user management and authorization)
  xanadu-client (package/update manager)
  whip (module hibernation control)
user memory
  arabesque (executes action scripts)
  restraint (external RLV relay interface)
  songbird (disk driver, tutorials)
  user applications and data go here

Additionally, the controller includes the following FPGAs, which cannot be updated by the software manager:

audio processor
  echo (audio output, sound scheme loading)
case controller
  fan spinner (fan controller)
  flicker (illumination controller)
battery door controller
  hinge (hatch controller)


In the Aegis and other systems that must open the battery door to access a holographic display, the hatch controller is also responsible for activating screen projection. For other systems with holographic screens, such as the Yutani Springs XSU and the DAX/3, this is performed by the illumination controller.

Functions by component


See in new window

In the event that one of these modules misbehaves, it may be possible to fix the issue by resetting the module through the manage > modules menu. Be aware that resetting modules often causes information and configuration loss.

Packages


Every standard software package installed into user memory includes a package manifest, which can be recognized by the tilde (~) prefixed onto the package’s exact name. This manifest defines the files that the package is responsible for. When a package is uninstalled, the disk driver (songbird) will use this manifest file to determine what to remove. Packages are completely removed prior to update.