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.

    Примеры

    свернуть все

    Откройте Определение Требований для проекта Модели Круиз-контроля. Загрузите 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;

    Откройте Определение Требований для проекта Модели Круиз-контроля. Загрузите crs_req_func_spec набор требования и открытый это в Редакторе Требований.

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

    В редакторе требований, в crs_req_func_spec набор требования, выберите требование с ID #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'
    

    Найдите выравнивание в наборе требования с ID #72. Получите внешнюю навигацию URL 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;

    Откройте Определение Требований для проекта Модели Круиз-контроля. Откройте 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');

    Откройте Определение Требований для проекта Модели Круиз-контроля. Загрузите 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 в буфер обмена для a:

      • Требование Simulink Requirements, требование, на которое ссылаются или выравнивание

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

      • Запись в словаре данных Simulink

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

    Смотрите также

    | | | (Stateflow) | (Simulink Test)

    Введенный в R2021a