Можно создать процедурное строение, которая позволяет вам задать порядок, в котором вы вносите изменения в модель. Проверки процедур организуются с помощью API процедур. Процедура сдачи на хранение выполняется только после прохождения предыдущей проверки. Основанный на процедуре строение запускается до тех пор, пока проверка не перестанет работать, требуя, чтобы вы изменили модель, чтобы пройти проверку и перейти к следующей проверке. Изменения, вносимые в модель, чтобы пройти проверки, следуют определенному порядку.
Чтобы создать строение на основе процедур, выполните следующие задачи:
Проверьте информацию в разделе Настройка строении обзора Model Advisor.
Определитесь с порядком изменений в вашей модели.
Идентифицируйте проверки, которые предоставляют информацию об изменениях, которые вы хотите внести в модель. Например, если вы хотите изменить настройки оптимизации модели, Проверка настроек оптимизации предоставляет информацию о настройках. Можно использовать собственные проверки и проверки, предоставляемые MathWorks®.
( Необязательные ) Собственные проверки в файле индивидуальной настройки. См. «Создание проверок Model Advisor».
Организуйте проверки в процедурах для процедурного строения:
Создайте процедуры с помощью API процедур. Для получения дополнительной информации см. раздел «Создание процедурных строений».
Создайте пользовательское строение Используйте Model Advisor Configuration Editor, чтобы Настроить Model Advisor
.
(Необязательно) Развертывание пользовательских строений для пользователей. Для получения дополнительной информации см. раздел Развертывание пользовательских строений.
Проверьте, что модели соответствуют руководствам по моделированию. Для получения дополнительной информации смотрите Запуск проверок Model Advisor и Просмотр результатов.
Вы создаете процедуры с ModelAdvisor.Procedure
class API. Сначала вы добавляете проверки к задачам, которые являются оболочками для проверок. Задачи добавляются к процедурам.
Примечание
При создании процедурных проверок следует иметь в виду потенциальные конфликты с проверками. Проверьте возможность прохождения обеих проверок.
Вы используете ModelAdvisor.Procedure
Класс для создания процедурных проверок.
Добавьте каждую проверку к задаче с помощью ModelAdvisor.Task.setCheck
способ. Задача является оберткой для проверки. Вы не можете добавить проверки непосредственно к процедурам.
Добавьте каждую задачу к процедуре с помощью 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);
ModelAdvisor.Check
| ModelAdvisor.Procedure