Introduction
Contents
Here, you can find information useful for development of X-Ita Control System (XCS) modules -- specifically targeting 64-bit ARM architecture. For documentation and usage information, please see below:
X-Ita Control System is divided into two subsystems -- Language and Environment.
Xita's language provides a user-interface and a means for writing custom applications/modules, while the environment defines system-specific protocols.
Xita Design Philosophy
Xita's language is a Functional, Declarative Programming Language, where applications are developed from modules, and modules are written using a mix of declarations and expressions.
The design philosphy of Xita intends to provide a robust infrastructure so the user can focus more on the development of their application rather than its foundational security policies. Xita directly targets elimination of architectural side-channels, e.g. Microarchitectural Data Sampling.
Xita provides a reliable platform for development of other IoT devices:
- Automates numerous tedious and error-prone tasks via language syntax
- Seals numerous exploitation points through overhauled architecture policies
- No (need for) direct access to CPU/RAM in userspace
Similar Languages
Xita's syntax and philosophy is roughly based on a mix of conventions from:
- CAML (Most Similar)
- Haskell
- LISP
Declaring Functions
let sum x y = x + y
Declaring Data Structures
type color =
Red
| Blue
| Green
| RGB of int; int; int
Differences
Xita is not necessarily similar or different than CAML or Haskell, because they encompass different scopes.
Although Xita provides a functional (ML-syntax) programming language, it differs from other languages by also providing a free-standing bootable environment.
Unlike its imperatively-designed competition, Xita runtime environment's core foundation is specifically developed for enhanced functional programming, so other languages (e.g. Haskell) will also greatly benefit from being ran through Xita's foreign-function interface.