Программно создавайте процедурные строения

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

Чтобы создать строение на основе процедур, выполните следующие задачи:

  1. Проверьте информацию в разделе Настройка строении обзора Model Advisor.

  2. Определитесь с порядком изменений в вашей модели.

  3. Идентифицируйте проверки, которые предоставляют информацию об изменениях, которые вы хотите внести в модель. Например, если вы хотите изменить настройки оптимизации модели, Проверка настроек оптимизации предоставляет информацию о настройках. Можно использовать собственные проверки и проверки, предоставляемые MathWorks®.

  4. ( Необязательные ) Собственные проверки в файле индивидуальной настройки. См. «Создание проверок Model Advisor».

  5. Организуйте проверки в процедурах для процедурного строения:

    1. Создайте процедуры с помощью API процедур. Для получения дополнительной информации см. раздел «Создание процедурных строений».

    2. Создайте пользовательское строение Используйте Model Advisor Configuration Editor, чтобы Настроить Model Advisor

      .

  6. (Необязательно) Развертывание пользовательских строений для пользователей. Для получения дополнительной информации см. раздел Развертывание пользовательских строений.

  7. Проверьте, что модели соответствуют руководствам по моделированию. Для получения дополнительной информации смотрите Запуск проверок Model Advisor и Просмотр результатов.

Создание процедурных строений

Создание процедур с использованием API процедур

Вы создаете процедуры с ModelAdvisor.Procedure class API. Сначала вы добавляете проверки к задачам, которые являются оболочками для проверок. Задачи добавляются к процедурам.

Примечание

При создании процедурных проверок следует иметь в виду потенциальные конфликты с проверками. Проверьте возможность прохождения обеих проверок.

Вы используете ModelAdvisor.Procedure Класс для создания процедурных проверок.

  1. Добавьте каждую проверку к задаче с помощью ModelAdvisor.Task.setCheck способ. Задача является оберткой для проверки. Вы не можете добавить проверки непосредственно к процедурам.

  2. Добавьте каждую задачу к процедуре с помощью ModelAdvisor.Procedure.addTask способ.

Определение процедур

Вы задаете процедуры в функции определения процедуры, которая задает свойства каждого образца ModelAdvisor.Procedure класс. Задайте один образец класса процедуры для каждой процедуры, которую вы хотите добавить в Model Advisor. Затем зарегистрируйте процедуру с помощью ModelAdvisor.Root.register способ.

Вы можете добавить подпроцедуры или задачи к процедуре. Задачами являются обертки для проверок.

  • Используйте ModelAdvisor.Procedure.addProcedure метод для добавления подпроцедуры к процедуре.

  • Используйте ModelAdvisor.Procedure.addTask метод для добавления задачи к процедуре.

Следующий пример кода добавляет подпроцедуры к процедуре:

%Create a procedure
MAP = ModelAdvisor.Procedure('com.mathworks.example.Procedure');

%Create 3 sub procedures
MAP1=ModelAdvisor.Procedure('com.mathworks.example.procedure_sub1');
MAP2=ModelAdvisor.Procedure('com.mathworks.example.procedure_sub2');
MAP3=ModelAdvisor.Procedure('com.mathworks.example.procedure_sub3');

%Add sub procedures to procedure
addProcedure(MAP, MAP1);
addProcedure(MAP, MAP2);
addProcedure(MAP, MAP3);

%register the procedures
mdladvRoot = ModelAdvisor.Root;
mdladvRoot.register(MAP);
mdladvRoot.register(MAP1);
mdladvRoot.register(MAP2);
mdladvRoot.register(MAP3);

Следующий пример кода добавляет задачи к процедуре:

%Create three tasks
MAT1=ModelAdvisor.Task('com.mathworks.tasksample.myTask1');
MAT2=ModelAdvisor.Task('com.mathworks.tasksample.myTask2');
MAT3=ModelAdvisor.Task('com.mathworks.tasksample.myTask3');

%Create a procedure
MAP = ModelAdvisor.Procedure('com.mathworks.tasksample.myProcedure');

%Add the three tasks to the procedure
addTask(MAP, MAT1);
addTask(MAP, MAT2);
addTask(MAP, MAT3);

%register the procedure and tasks
mdladvRoot = ModelAdvisor.Root;
mdladvRoot.register(MAP);
mdladvRoot.register(MAT1);
mdladvRoot.register(MAT2);
mdladvRoot.register(MAT3);

Можно задать, где Model Advisor помещает процедуру, используя ModelAdvisor.Group.addProcedure способ. Следующий пример кода добавляет процедуры к группе:

%Create three procedures
MAP1=ModelAdvisor.Procedure('com.mathworks.sample.myProcedure1');
MAP2=ModelAdvisor.Procedure('com.mathworks.sample.myProcedure2');
MAP3=ModelAdvisor.Procedure('com.mathworks.sample.myProcedure3');

%Create a group
MAG = ModelAdvisor.Group('com.mathworks.sample.myGroup');

%Add the three procedures to the group
addProcedure(MAG, MAP1);
addProcedure(MAG, MAP2);
addProcedure(MAG, MAP3);

%register the group and procedures
mdladvRoot = ModelAdvisor.Root;
mdladvRoot.register(MAG);
mdladvRoot.register(MAP1);
mdladvRoot.register(MAP2);
mdladvRoot.register(MAP3);

См. также

|

Похожие темы