exponenta event banner

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 набор требований, выберите требование с идентификатором #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;

    Откройте определение требований для проекта модели круиз-контроля. Откройте окно 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-адрес внешней навигации в буфер обмена для:

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

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

      • Статья словаря данных Simulink

      Щелкните правой кнопкой мыши один из этих элементов в редакторе требований или редакторе Simulink и выберите «Копировать URL в буфер обмена» или «Требования» > «Копировать URL в буфер обмена».

    См. также

    | | | (Simulink Test) | (Stateflow)

    Представлен в R2021a