├── License.txt ├── README.md ├── SECURITY.md └── sltestLaneFollowingExample.mlproj /License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2019 - 2022, The MathWorks, Inc. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 5 | 6 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 7 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 8 | 3. In all cases, the software is, and all modifications and derivatives of the software shall be, licensed to you solely for use in conjunction with MathWorks products and service offerings. 9 | 10 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Continuous Integration for Verification of Simulink® Models

2 | 3 | This project is used in the explanation of the Technical Article ['Continuous Integration for Verification of Simulink® Models'](https://www.mathworks.com/company/newsletters/articles/continuous-integration-for-verification-of-simulink-models.html) to describe a simple end-to-end example showing Model Based Design integration into Jenkins® and GitLab® where Jenkins is used as CI system and GitLab as version control system. Upon following the steps in the Technical Article, one can setup a running Continuous Integration pipeline performing verify, build, and test stages to generate corresponding artifacts. 4 | 5 | 6 | 7 | Quick Start guide 8 | ================== 9 | 1. Fork the repository to your own GitHub® account. 10 | 2. Configure MATLAB, GitLab and Jenkins, as outlined in the Technical Article. 11 | 3. Create a new CI job using your forked repository. 12 | 13 | Please refer the Technical Article ['Continuous Integration for Verification of Simulink® Models'](https://www.mathworks.com/company/newsletters/articles/continuous-integration-for-verification-of-simulink-models.html) for detailed instructions on how to setup and run the continuous integration pipeline. 14 | 15 | 16 | 17 | Folder Structure 18 | ================ 19 | 20 | 21 | . 22 | ├── Data # Data required to run the models and test cases 23 | │ ├── ACC_01_ISO_TargetDiscriminationTest.mat 24 | │ ├── ACC_02_ISO_AutoRetargetTest.mat 25 | │ ├── ACC_03_ISO_CurveTest.mat 26 | │ ├── ACC_04_ISO_StopnGo.mat 27 | │ ├── LFACC_01_DoubleCurve_DecelTarget.mat 28 | │ ├── LFACC_02_DoubleCurve_AutoRetarget.mat 29 | │ ├── LFACC_03_DoubleCurve_StopnGo.mat 30 | │ ├── LFACC_04_Curve_CutInOut.mat 31 | │ ├── LFACC_05_Curve_CutInOut_TooClose.mat 32 | ├── Models # Simulink models used to model lane change logic 33 | │ ├── LaneFollowingTestBenchExample.slx 34 | │ ├── LFRefMdl.slx 35 | ├── Requirements # Requirements for the lane change controller 36 | │ ├── LaneFollowingTestRequirements.slreqx 37 | ├── resources # Simulink project related files 38 | ├── Scripts # Scripts used to setup models, tests, and visualizations 39 | │ ├── createLaneFollowingController.m # Helper script to design MPC Controller for lane following application 40 | │ ├── createLaneSensorBuses.m # Defines Lane Sensor Buses 41 | │ ├── getDiscreteModelForAdaptiveMPC.m # Helper to get discrete state-space model for adaptive MPC 42 | │ ├── helperLFSetUp.m # Initializes lane following example model 43 | │ ├── helperSessionToScenario.m # Helper to convert scenario to drivingScenario object 44 | │ ├── LaneFollowingExecControllerBuild.m # Builds controller 45 | │ ├── LaneFollowingExecModelAdvisor.m # Performs Model Advisor analysis 46 | │ ├── plotLFResults.m # Helper to plot results of lane following example 47 | ├── Tests # Test cases we will execute as part of our CI pipeline 48 | │ ├── LaneFollowingTestScenarios.mldatx 49 | │ ├── LaneFollowingTestScenarios.slmx 50 | ├── SltestLaneFollowingExample.prj # Can run this file in MATLAB® to setup the Simulink project 51 | ├── LICENSE 52 | ├── SECURITY.md 53 | └── README.md 54 | 55 | 56 | 57 | Products/Toolboxes Required 58 | =========================== 59 | - [MATLAB®](https://www.mathworks.com/products/matlab.html) 60 | - [Simulink®](https://www.mathworks.com/products/simulink.html) 61 | - [Automated Driving Toolbox™](https://www.mathworks.com/products/automated-driving.html) 62 | - [Computer Vision Toolbox™](https://www.mathworks.com/products/computer-vision.html) 63 | - [Control System Toolbox™](https://www.mathworks.com/products/control.html) 64 | - [Embedded Coder®](https://www.mathworks.com/products/embedded-coder.html) 65 | - [Image Processing Toolbox™](https://www.mathworks.com/products/image.html) 66 | - [MATLAB® Coder™](https://www.mathworks.com/products/matlab-coder.html) 67 | - [Model Predictive Control Toolbox™](https://www.mathworks.com/products/model-predictive-control.html) 68 | - [Requirements Toolbox™](https://www.mathworks.com/products/requirements-toolbox.html) 69 | - [Simulink® Check™](https://www.mathworks.com/products/simulink-check.html) 70 | - [Simulink® Coder™](https://www.mathworks.com/products/simulink-coder.html) 71 | - [Simulink® Control Design™](https://www.mathworks.com/products/simcontrol.html) 72 | - [Simulink® Coverage™](https://www.mathworks.com/products/simulink-coverage.html) 73 | - [Simulink® Test™](https://www.mathworks.com/products/simulink-test.html) 74 | 75 | 76 | 77 | License 78 | ======= 79 | The license for Continuous Integration for Verification of Simulink Models is available in the [License.txt](License.txt) file in this repository. 80 | 81 | 82 | 83 | Community Support 84 | ================= 85 | [MATLAB Central](https://www.mathworks.com/matlabcentral/) 86 | 87 | 88 | Copyright 2022 The MathWorks, Inc. 89 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Reporting Security Vulnerabilities 2 | 3 | If you believe you have discovered a security vulnerability, please report it to 4 | [security@mathworks.com](mailto:security@mathworks.com). Please see 5 | [MathWorks Vulnerability Disclosure Policy for Security Researchers](https://www.mathworks.com/company/aboutus/policies_statements/vulnerability-disclosure-policy.html) 6 | for additional information. 7 | -------------------------------------------------------------------------------- /sltestLaneFollowingExample.mlproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mathworks/Continuous-Integration-Verification-Simulink-Models/f317e90c5d78e159550b335435eb4c427fa142ac/sltestLaneFollowingExample.mlproj --------------------------------------------------------------------------------