instantiate

Создайте аналитический экземпляр из спецификации

Описание

пример

instance = instantiate(model,properties,name) создает экземпляр модели для анализа.

пример

instance = instantiate(model,profile,name) создает экземпляр модели для анализа со всеми стереотипами в профиле.

Примеры

свернуть все

Инстанцируйте всех свойств стереотипа, который будет применен к определенным элементам во время инстанцирования.

Создайте профиль для характеристик задержки.

profile = systemcomposer.profile.Profile.createProfile('LatencyProfile');

latencybase = profile.addStereotype('LatencyBase');
latencybase.addProperty('latency','Type','double');
latencybase.addProperty('dataRate','Type','double','DefaultValue','10');

connLatency = profile.addStereotype('ConnectorLatency','Parent',...
'LatencyProfile.LatencyBase');
connLatency.addProperty('secure','Type','boolean');
connLatency.addProperty('linkDistance','Type','double');

nodeLatency = profile.addStereotype('NodeLatency','Parent',...
'LatencyProfile.LatencyBase');
nodeLatency.addProperty('resources','Type','double','DefaultValue','1');

portLatency = profile.addStereotype('PortLatency','Parent',...
'LatencyProfile.LatencyBase');
portLatency.addProperty('queueDepth','Type','double');
portLatency.addProperty('dummy','Type','int32');

profile.save;

Инстанцируйте всех свойств стереотипа.

model = systemcomposer.createModel('archModel');
NodeLatency = struct('elementKinds',['Component']);
ConnectorLatency = struct('elementKinds',['Connector']);
LatencyBase = struct('elementKinds',['Connector','Port','Component']);
PortLatency = struct('elementKinds',['Port']);
 
LatencyAnalysis = struct('NodeLatency',NodeLatency, ...
                'ConnectorLatency',ConnectorLatency, ...
                'PortLatency',PortLatency, ...
                'LatencyBase',LatencyBase);
            
properties = struct('LatencyProfile',LatencyAnalysis);
instantiate(model.Architecture,properties,'NewInstance')

Инстанцируйте определенных свойств стереотипа, который будет применен к определенным элементам во время инстанцирования.

NodeLatency = struct('elementKinds',["Component"], ...
                'properties',struct('resources',true));
ConnectorLatency = struct('elementKinds',["Connector"], ...
                'properties',struct('secure',true,'linkDistance',true));
LatencyBase = struct('elementKinds',[], ...
                'properties',struct('dataRate',true,'latency',false));
PortLatency = struct('elementKinds',["Port"], ...
                'properties',struct('queueDepth',true));
 
LatencyAnalysis = struct('NodeLatency',NodeLatency, ...
                'ConnectorLatency',ConnectorLatency, ...
                'PortLatency',PortLatency, ...
                'LatencyBase',LatencyBase);
            
properties = struct('LatencyProfile',LatencyAnalysis);
instantiate(model.Architecture,properties,'NewInstance')

Инстанцируйте всех стереотипов уже в профиле, который будет применен к элементам во время инстанцирования.

instantiate(model.Architecture,'LatencyProfile','NewInstance')

Входные параметры

свернуть все

Архитектура модели, от которой экземпляр сгенерирован в виде systemcomposer.arch.Architecture объект.

Пример: model.Architecture

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

Имя экземпляра сгенерировано из модели в виде вектора символов.

Пример: 'NewInstance'

Типы данных: char

Профилируйте имя в виде вектора символов.

Пример: 'LatencyProfile'

Типы данных: char

Выходные аргументы

свернуть все

Экземпляр элемента, возвращенный как systemcomposer.analysis.ArchitectureInstance, systemcomposer.analysis.ComponentInstance, systemcomposer.analysis.PortInstance, или systemcomposer.analysis.ConnectorInstance объект. Эта функция является частью API экземпляра, который можно использовать, чтобы анализировать модель итеративно, поэлементно. Значение относится к экземпляру элемента, на котором выполняется итерация.

Введенный в R2019a
Для просмотра документации необходимо авторизоваться на сайте