Класс CmaAlgorithm является потомком CmaList, наследуя от него операторы [ ], присваивания и преобразования типов. При создании объекта CmaAlgorithm указывается имя алгоритма, под которым он был зарегистрирован в управляющем ядре. По имени алгоритма однозначно определяется состав его методов. Можно создать сколько угодно экземпляров алгоритмов с данным именем.

    CmaAlgorithm (maString name, ImaKernel* kernel);

Конструктор CmaAlgorithm скрывает вызов функции управляющего ядра CreateAlgorithm. При создании алгоритма создается дерево алгоритма, поддерево параметров и все методы алгоритма вместе со своими поддеревьями:

    maString GetDescription();

Функция возвращает описание всех своих методов. Это описание является объединением всех описаний, возвращенных определителями методов в функции ImaMethodDef::GetDescription.

    CmaCell& operator[] (long i);
    CmaCell& operator[] (maString i);

Функция позволяет получать доступ к дереву параметров и деревьям методов стандартным образом. Дерево параметров всегда имеет номер 0.

    HRESULT SetMethod(ImaMethodDef *mdef)

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

    CmaList Param ();

Функция дает доступ к параметрам алгоритма.

    CmaMethod Method (maString name);

Функция дает доступ к методам алгоритма.

    HRESULT Verify ();
    HRESULT Verify(int cellno);
    HRESULT Verify(maString name);

Функции проверяют правильность формирования всех аргументов метода, в том числе соответствие размеров и размерностей матриц данных. Проверяется также соответствие размеров с аргументами других сформированных методов данного алгоритма. Метод считается сформированным, если заданы все его обязательные аргументы. Функцию Verify следует вызывать после формирования метода, но перед первым обращением к функциям Calc или CalcCell данного метода. Проверка осуществляется в соответствии с описаниями всех методов данного алгоритма. В случае обнаружения ошибок функция проверки записывает соответствующие сообщения в отладочный поток алгоритма и возвращает MA_ERR_VERIFY.