Navigation

C-ATOM

C-ATOM, See-atom, carbon-atom, C language-atom is a scalable framework to create embedded systems faster by the combination of the top level declarative programming of the behaviour; model-based enabled design; service code generation.

C-ATOM is build around practical and organization problems of building and scaling distributed embedded systems for control applications.

C-ATOM solves a problem of the transferring of the functional software from one hardware/OS platform to another with minimum effort.

C-ATOM provides tools and services to separate and streamline processes of development functional software, its integration and verification. C-ATOM gives solutions for maximum reusability of the software for integrating software and hardware testing rigs for Software-In-the-Loop, Hardware-In-the-Loop verification methods.

For functional interconnection C-ATOM uses ESWB (check Embedded Software Bus). ESWB creates uniform way of functions to communicate between each other: inside thread, between threads, between processes. Stands as the only form of inter-process communication inside c-atom controlled domain.

Key highlights before we go into details:

  • written in C language;

  • libc, pthreads, libm are the only dependencies;

  • uses POSIX for system calls;

  • designed to be hardware and software-agnostic.

  • provides services for telemetry transmission, logging and visualizing.

C-ATOM structure

../_images/catom_scope.jpg
  • swsys - software system description layer; allocates functions and other blocks into tasks and processes.

  • flow - block to arrange computational graphs as a sequence of atomic reusable (C lang coded) functions.

  • fsm - finite state machine block, operates by states, transitions and actions on states and transitions.

  • ibr - interface bridge - designed to take care of converting information from and to other devices.

Atomic functions

Work with atomic functions

Software system - SWSYS

Software System

Function flow - FLOW

Function Flow

Finite state machine - FSM

Finite State Machine

Interfacing bridge - IBR

Interface bridge

Function specification

Function specification