├── 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
--------------------------------------------------------------------------------