slreq.getExternalURL

Получите URL навигации для источника или назначения ссылки, требования, теста или элемента модели Simulink

    Описание

    пример

    navURL = slreq.getExternalURL(myDesignItem) возвращает URL навигации к источнику или адресату ссылки, требованию, тесту или Simulink® элемент модели, заданный как myDesignItem.

    Примечание

    MATLAB® встраиваемый веб-сервер должен работать на HTTP-порту 31415, чтобы создать URL-адреса навигации. Если ваш Сеанс работы с MATLAB не настроен для этого номера HTTP-порта, при попытке создать ссылку возникает ошибка. Использование connector.port для проверки сконфигурированного номера порта. Если connector.port возвращает 0, использовать rmipref('UnsecureHttpRequests',true) для включения встроенного HTTP-сервера. Если connector.port возвращает число, которое не 31415закройте все образцы MATLAB и снова откройте один образец.

    пример

    [navURL,navLabel] = slreq.getExternalURL(myDesignItem) также возвращает метку внешней навигации, navLabel.

    Примеры

    свернуть все

    Откройте Определение требований для проекта Cruise Control Model. Загрузите crs_req набор требований.

    slreqCCProjectStart;
    slreq.load('crs_req');

    Найдите crs_req набор ссылок. Найти ссылку с описанием #9: Enable Switch Detection.

    myLinkSet = slreq.find('Type','LinkSet','Name','crs_req');
    myLink = find(myLinkSet,'Description','#9: Enable Switch Detection')
    myLink = 
      Link with properties:
    
               Type: 'Derive'
        Description: '#9: Enable Switch Detection'
           Keywords: {}
          Rationale: ''
          CreatedOn: 20-May-2017 13:14:10
          CreatedBy: 'itoy'
         ModifiedOn: 02-Feb-2018 14:28:04
         ModifiedBy: 'itoy'
           Revision: 4
                SID: 1
           Comments: [0×0 struct]
    
    

    Получите URL навигации к источнику ссылки.

    navURL1 = slreq.getExternalURL(myLink.source)
    navURL1 = 
    'http://localhost:31415/matlab/feval/rmi.navigate?arguments=[%22linktype_rmi_slreq%22,%22crs_req.slreqx%22,%2210%22,%22%22]'
    

    Получите URL-адрес навигации по ссылке.

    navURL2 = slreq.getExternalURL(myLink.destination)
    navURL2 = 
    'http://localhost:31415/matlab/feval/rmi.navigate?arguments=[%22linktype_rmi_slreq%22,%22crs_req_func_spec.slreqx%22,%229%22,%22%22]'
    

    Очистка

    Очистить загруженные наборы требований и наборы ссылок.

    slreq.clear;

    Откройте Определение требований для проекта Cruise Control Model. Загрузите crs_req_func_spec и откройте его в редакторе требований.

    slreqCCProjectStart;
    rs = slreq.open('crs_req_func_spec');

    В редакторе требований, в crs_req_func_spec выберите требование с идентификатором #1. Получите объект API для требования с помощью slreq.getCurrentObject. Затем получите URL-адрес внешней навигации для требования и метку для URL-адреса.

    req = slreq.getCurrentObject
    req = 
      Requirement with properties:
    
                Type: 'Functional'
                  Id: '#1'
             Summary: 'Driver Switch Request Handling'
         Description: '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">↵<html><head><meta name="qrichtext" content="1" /><style type="text/css">↵p, li { white-space: pre-wrap; }↵</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:400; font-style:normal;">↵<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Handle switch operations by the driver to determine the command for the cruise control system to operate upon.</p>↵<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';"><br /></p></body></html>'
            Keywords: {}
           Rationale: ''
           CreatedOn: 27-Feb-2017 10:15:38
           CreatedBy: 'itoy'
          ModifiedBy: 'asriram'
                 SID: 1
        FileRevision: 46
          ModifiedOn: 02-Aug-2017 13:49:40
               Dirty: 0
            Comments: [0×0 struct]
               Index: '1'
    
    
    [navURL1,navLabel1] = slreq.getExternalURL(req)
    navURL1 = 
    'http://localhost:31415/matlab/feval/rmi.navigate?arguments=[%22linktype_rmi_slreq%22,%22crs_req_func_spec.slreqx%22,%221%22,%22%22]'
    
    navLabel1 = 
    'Driver Switch Request Handling'
    

    Найдите обоснование в наборе требований с идентификатором #72. Получите внешний URL-адрес навигации для обоснования и метку для URL-адреса.

    jt = find(rs,'Type','Justification','ID','#72')
    jt = 
      Justification with properties:
    
                  Id: '#72'
             Summary: 'Non-functional requirement'
         Description: '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">↵<html><head><meta name="qrichtext" content="1" /><style type="text/css">↵p, li { white-space: pre-wrap; }↵</style></head><body style=" font-family:'Helvetica'; font-size:8pt; font-weight:400; font-style:normal;">↵<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt;">A non-functional requirement that cannot be associated with a model element.</span></p></body></html>'
            Keywords: {}
           Rationale: ''
           CreatedOn: 27-Feb-2017 10:34:22
           CreatedBy: 'itoy'
          ModifiedBy: 'asriram'
                 SID: 72
        FileRevision: 1
          ModifiedOn: 03-Aug-2017 17:14:44
               Dirty: 0
            Comments: [0×0 struct]
               Index: '5.1'
    
    
    [navURL2,navLabel2] = slreq.getExternalURL(jt)
    navURL2 = 
    'http://localhost:31415/matlab/feval/rmi.navigate?arguments=[%22linktype_rmi_slreq%22,%22crs_req_func_spec.slreqx%22,%2272%22,%22%22]'
    
    navLabel2 = 
    'Non-functional requirement'
    

    Найти все загруженные требования к ссылкам. Получите URL-адрес внешней навигации для третьего требования ссылки и метку для URL-адреса.

    refs = slreq.find('Type','Reference');
    ref = refs(3)
    ref = 
      Reference with properties:
    
                  Id: 'System overview'
            CustomId: 'System overview'
            Artifact: 'crs_req.docx'
          ArtifactId: '?System overview'
              Domain: 'linktype_rmi_word'
           UpdatedOn: 02-Feb-2018 13:23:13
           CreatedOn: NaT
           CreatedBy: ''
          ModifiedBy: ''
            IsLocked: 1
             Summary: 'System overview'
         Description: '<div class=WordSection1>↵↵<div style='border:none;border-bottom:solid #595959 1.0pt;padding:0in 0in 1.0pt 0in'>↵↵<h1 style='margin-left:0in;text-indent:0in'>System overview</h1>↵↵</div>↵↵</div>'
           Rationale: ''
            Keywords: {}
                Type: 'Functional'
                 SID: 3
        FileRevision: 1
          ModifiedOn: 03-Aug-2017 17:34:56
               Dirty: 0
            Comments: [0×0 struct]
               Index: '2'
    
    
    [navURL3,navLabel3] = slreq.getExternalURL(ref)
    navURL3 = 
    'http://localhost:31415/matlab/feval/rmi.navigate?arguments=[%22linktype_rmi_slreq%22,%22crs_req.slreqx%22,%223%22,%22%22]'
    
    navLabel3 = 
    'System overview'
    

    Очистка

    Очистить загруженные наборы требований и наборы ссылок. Закройте Редактор требований.

    slreq.clear;

    Откройте Определение требований для проекта Cruise Control Model. Откройте crs_plant модель.

    slreqCCProjectStart;
    open_system('crs_plant');

    Выберите Transmission подсистема и использование gcb или gcbh для получения пути или указателя на подсистему. Затем получите URL-адрес внешней навигации в подсистему и метку для URL-адреса.

    subsys = gcb
    subsys = 
    'crs_plant/Transmission'
    
    [navURL1,navLabel1] = slreq.getExternalURL(subsys)
    navURL1 = 
    'http://localhost:31415/matlab/feval/rmiobjnavigate?arguments=[%22crs_plant.slx%22,%22:414%22]'
    
    navLabel1 = 
    'Transmission'
    

    Посмотрите внутрь shift_logic маскировать щелчком значка. Выберите first Состояние Stateflow ® и использование sfgco чтобы получить указатель в состояние. Затем получите URL-адрес внешней навигации в состояние и метку для URL-адреса.

    firstState = sfgco
    firstState =
    
                         Path: 'crs_plant/shift_logic/gear_state'
                           Id: 462
                      Machine: [1×1 Stateflow.Machine]
                   SSIdNumber: 6
                         Name: 'first'
                  Description: ''
                  LabelString: 'first↵'
                     FontSize: 10
                    ArrowSize: 9.2240
                    TestPoint: 0
                        Chart: [1×1 Stateflow.Chart]
              BadIntersection: 0
                    Subviewer: [1×1 Stateflow.Chart]
                     Document: ''
                          Tag: []
              RequirementInfo: ''
               ExecutionOrder: 0
        ContentPreviewEnabled: 0
                     Position: [1×4 double]
                Decomposition: 'EXCLUSIVE_OR'
                         Type: 'OR'
                   IsSubchart: 0
                    IsGrouped: 0
                        Debug: [1×1 Stateflow.StateDebug]
                 InlineOption: 'Auto'
                  LoggingInfo: [1×1 Stateflow.SigLoggingInfo]
                HasOutputData: 0
                   OutputData: []
         OutputMonitoringMode: 'SelfActivity'
        IsExplicitlyCommented: 0
        IsImplicitlyCommented: 0
                  CommentText: ''
    
    [navURL2,navLabel2] = slreq.getExternalURL(firstState)
    navURL2 = 
    'http://localhost:31415/matlab/feval/rmiobjnavigate?arguments=[%22crs_plant.slx%22,%22:413:6%22]'
    
    navLabel2 = 
    'first'
    

    Очистка

    Очистить загруженные наборы требований и наборы ссылок. Закройте все открытые модели.

    slreq.clear;
    bdclose('all');

    Откройте Определение требований для проекта Cruise Control Model. Загрузите DriverSwRequest_Tests тестовый файл.

    slreqCCProjectStart;
    tf = sltest.testmanager.load('DriverSwRequest_Tests.mldatx');

    Получите тестовый набор в тестовом файле.

    suite = getTestSuites(tf);

    Получите контрольные примеры в тестовый набор. Получите URL внешней навигации для первого теста и получите метку для URL навигации.

    cases = getTestCases(suite)
    cases=1×8 object
      1×8 TestCase array with properties:
    
        Name
        TestFile
        TestPath
        TestType
        RunOnTarget
        Parent
        Requirements
        Description
        Enabled
        ReasonForDisabling
        Tags
    
    
    case1 = cases(1)
    case1 = 
      TestCase with properties:
    
                Name: 'Enable button'
            TestFile: [1×1 sltest.testmanager.TestFile]
            TestPath: 'DriverSwRequest_Tests > Unit test for DriverSwRequest > Enable button'
            TestType: 'simulation'
         RunOnTarget: {[0]}
              Parent: [1×1 sltest.testmanager.TestSuite]
        Requirements: [1×1 struct]
         Description: ''
             Enabled: 1
                Tags: [0×0 string]
    
    
    [navURL,navLabel] = slreq.getExternalURL(case1)
    navURL = 
    'http://localhost:31415/matlab/feval/rmitmnavigate?arguments=[%22DriverSwRequest_Tests.mldatx%22,%223b7651c7-826b-431c-928b-f1f80a674351%22]'
    
    navLabel = 
    'Enable button'
    

    Очистка

    Очистить загруженные наборы требований и наборы ссылок. Очистите загруженные тестовые файлы.

    slreq.clear;
    sltest.testmanager.clear;

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

    свернуть все

    Элемент в MATLAB или Simulink, указанный как:

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

    свернуть все

    Внешний URL навигации, возвращенный как символьный массив.

    URL-адрес внешней навигации метки, возвращается как символьный массив.

    Совет

    • Можно скопировать URL-адрес внешней навигации в буфер обмена для:

      • Simulink Requirements требование, ссылочное требование или обоснование

      • Элемент модели Simulink, Stateflow или System Composer

      • Функции Simulink записи в словаре данных

      Щелкните правой кнопкой мыши один из этих элементов в редакторе требований или редакторе Simulink и выберите Copy URL to Clipboard или выберите Requirements > Copy URL to Clipboard.

    См. также

    | | | (Simulink Test) | (Stateflow)

    Введенный в R2021a