Класс CmaKernel позволяет сократить код создания и использования ядра.

    CmaKernel(maString logName);

Создает ядро и открывает файл, в который записываются сообщения об ошибках (лог-файл). Если файл не существует, то он создается; если существует, то новые сообщения дописываются в конец.

    ~CmaKernel();

Выгружает загруженные библиотеки алгоритмов и уменьшает число ссылок на ядро.

    HRESULT LoadLibraryByName (maString clsname);
    HRESULT LoadLibraryByClsid (maString clsid);

Функции загружают библиотеку алгоритмов — компонент с интерфейсом ImaLibrary, реализующий определённое количество методов.
В зависимости от выбранной функции библиотека ищется, соответственно по имени класса библиотеки clsname или по строковому представлению идентификатора класса библиотеки clsid.
Класс библиотеки должен быть предварительно зарегистрирован в системном реестре.

    HRESULT RegisterLibrary(ImaLibrary* lib);

Подключает к ядру библиотеку методов, уже загруженную программой, не регистрируя ее в реестре

    void UnloadLibraries();

Выгружает из памяти все библиотеки. Эта функция вызывается автоматически из деструктора класса CMaKernel.

    void SetDebugStream (CmaStream stream);

Функция устанавливает отладочный поток вывода по умолчанию. При создании алгоритмов этот поток будет автоматически заноситься в параметр "Debug".

    CmaStream GetDebugStream ();

Функция возвращает отладочный поток вывода.

    void LogError(IPersist* sender,int ecode,maString message)
    void LogMessage(IPersist* sender,maString message)

Функции записывают в отладочный поток сообщение об ошибке (с кодом ecode) или информационное сообщение вместе со сведениями об объекте, пославшем его (параметр sender).

    void Log(maString message)

Функция записывает в отладочный поток строку message. Эквивалентна вызову функции WriteStr(message) отладочного потока.

    void Message (maString format, ...)
    void Error (int eCode,maString format, ...)

Функции выводят в отладочный поток сообщения аналогично предыдущим, но имеют аргументы, как у стандратной функции вывода wsprintf.

    void LogMemoryReport();

Эаписывает в отладочный поток сведения о расходе памяти

    void LogROT();

Функция записывает в отладочный поток список всех объектов в системе maCom на момент вызова. Эта функция работает только если DebugLevel не установлен в MA_DEBUG_NONE.

    HRESULT SetProgressHandler(ImaProgressHandler* handler)

Функция устанавливает обработчик сообщений, посылаемых ядру вызовом функции Progress. Эта функция используется реализацией метода для сообщения о ходе вычислений. Также обработчик сообщений может потребовать остановки вычислений.

    HRESULT Progress([in] double percent,
    		[in,string] maString message)

Функция вызывает обработчик сообщений, установленный функцией SetProgressHandler и возвращает MA_NOERROR, если вызыавющий может продолжать работу и MA_ERR_INTERRUPT, если пользователь просит отменить операцию.