Skip to content

Commit 16b3de7

Browse files
committed
updated files for release.
1 parent ce832bd commit 16b3de7

15 files changed

+178
-716
lines changed

.gitlab-ci.yml

Lines changed: 71 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,94 +1,87 @@
11
stages:
2+
# Set up two testing paths
3+
- setup
24
- test
35
- deploy
46
- release
57

6-
.setup_matlab_linux: &setup_matlab_linux
7-
# install gstreamer libraries for audio/video file support
8-
- export DEBIAN_FRONTEND=noninteractive && apt-get update -y && apt-get install --no-install-recommends -y libgstreamer1.0-0 gstreamer1.0-tools gstreamer1.0-libav gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
9-
- apt-get clean && apt-get -y autoremove && rm -rf /var/lib/apt/lists/*
10-
- export MLM_LICENSE_TOKEN="$LICENSEOWNER|$LICENSELABEL|$LICENSETOKEN" # Set the batch token license
11-
- apt-get update
12-
- apt-get install --no-install-recommends --yes git wget ca-certificates xvfb
13-
- wget -q https://www.mathworks.com/mpm/glnxa64/mpm -P /opt/
14-
- chmod +x /opt/mpm
15-
- /opt/mpm install --release=$VERSION --destination=/opt/matlab --products=MATLAB $PRODUCT
16-
- wget -O /opt/matlab/bin/matlab-batch https://ssd.mathworks.com/supportfiles/ci/matlab-batch/v1/glnxa64/matlab-batch
17-
- chmod +x /opt/matlab/bin/matlab-batch
18-
19-
.setup_matlab_windows: &setup_matlab_windows
20-
- $env:MLM_LICENSE_TOKEN="$LICENSEOWNER|$LICENSELABEL|$LICENSETOKEN" # Set the batch token license
21-
- Set-Alias -Name matlab -Value "D:\MATLAB\$VERSION\bin\matlab-batch"
8+
setup-job:
9+
tags:
10+
- matlab
11+
stage: setup
12+
script:
13+
- cd ..
14+
- if (test-path utilities) { rm -r -force utilities }
15+
- git clone [email protected]:modular-curriculum-content/utilities.git
16+
- cd $CI_PROJECT_NAME
17+
allow_failure: false
2218

23-
# test-linux:
24-
# image: mathworks/matlab-deps:latest
25-
# variables:
26-
# PRODUCT: "Curve_Fitting_Toolbox Simscape Simscape_Battery Simscape_Electrical Simulink Statistics_and_Machine_Learning_Toolbox Symbolic_Math_Toolbox"
27-
# parallel:
28-
# matrix:
29-
# - VERSION: [R2024b]
30-
# tags:
31-
# - training
32-
# - linux
33-
# - docker
34-
# stage: test
35-
# script:
36-
# - *setup_matlab_linux
37-
# - xvfb-run /opt/matlab/bin/matlab-batch "openProject(pwd); buildtool -continueOnFailure test:scripts test:models;"
38-
# allow_failure: true
39-
# artifacts:
40-
# name: "Linux$VERSION"
41-
# paths:
42-
# - public/*
4319

44-
test-windows:
45-
parallel:
46-
matrix:
47-
- VERSION: [R2024b]
48-
tags:
49-
- training
50-
- windows
51-
stage: test
52-
script:
53-
- *setup_matlab_windows
54-
- matlab "openProject(pwd); buildtool -continueOnFailure test-scripts test-models;"
55-
allow_failure: true
56-
artifacts:
57-
name: "Windows$VERSION"
20+
smoke-test:
21+
# Smoke tests should run all the time
22+
tags:
23+
# Add additional tags like (e.g. - arduino) as required
24+
# Make sure that the runner you plan to use matches the tags
25+
- matlab
26+
stage: test
27+
parallel:
28+
matrix:
29+
- VERSION: [R2024a,R2024b]
30+
script:
31+
- Set-Alias -Name matlab -Value "C:\Program Files\MATLAB\$VERSION\bin\matlab.exe"
32+
- matlab -batch "openProject(pwd);RunAllTests"
33+
when: always
34+
allow_failure: true
35+
artifacts:
36+
name: "$VERSION"
5837
paths:
5938
- public/*
60-
when: always
39+
when: always
40+
6141

62-
# test-internal:
63-
# variables:
64-
# VERSION: "R2024b"
65-
# PRODUCT: ""
66-
# tags:
67-
# - training
68-
# - linux
69-
# - docker
70-
# stage: test
71-
# script:
72-
# - *setup_matlab_linux
73-
# - git clone https://ci-token:${GROUP_ACCESS_TOKEN}@insidelabs-git.mathworks.com/modular-curriculum-content/utilities.git internal-utilities -b ez-dev
74-
# - xvfb-run /opt/matlab/bin/matlab-batch "openProject(pwd); addpath(genpath('internal-utilities')); buildtool -continueOnFailure test:internal;"
75-
# allow_failure: true
76-
# artifacts:
77-
# name: "CMTests"
78-
# paths:
79-
# - public/*
80-
8142
pages:
8243
tags:
83-
- training
84-
- windows
44+
- matlab
8545
stage: deploy
86-
variables:
87-
VERSION: "R2024b"
8846
script:
89-
- *setup_matlab_windows
90-
- matlab "openProject(pwd); buildtool -continueOnFailure deploy-generate deploy-edit;"
91-
allow_failure: true
47+
- matlab -batch "openProject(pwd);PostSmokeTest;"
9248
artifacts:
9349
paths:
94-
- public
50+
- public
51+
52+
file-test:
53+
tags:
54+
- matlab
55+
stage: release
56+
script:
57+
- matlab -batch "proj = openProject(pwd);
58+
addpath(proj.RootFolder+'/InternalFiles/Tests/CI');
59+
results = runtests('OpenCloseFileTest.m');
60+
disp(table(results)); assertSuccess(results);"
61+
rules:
62+
# This test should always run when merging to main
63+
# And be available for manual running on any push
64+
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH
65+
when: always
66+
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH
67+
when: manual
68+
allow_failure: true
69+
70+
release-testing:
71+
tags:
72+
- matlab
73+
stage: release
74+
script:
75+
- matlab -batch "proj = openProject(pwd);
76+
cd ..;
77+
addpath(genpath(fullfile('utilities','TestingResources')));
78+
addpath(genpath(fullfile('utilities','Tools')));
79+
runCMTests"
80+
rules:
81+
# This test should always run when merging to main
82+
# And be available for manual running on any push
83+
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH
84+
when: always
85+
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH
86+
when: manual
87+
allow_failure: true

Images/Decomposition.png

18.1 KB
Loading

Images/Integration.png

16.7 KB
Loading

Images/RequirementsClipboard.png

101 KB
Loading

Images/TestedWith.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"schemaVersion":1,"label":"Test Status","color":"yellowgreen","message":"R"}

MainMenu.mlx

-1.28 KB
Binary file not shown.

README.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
# <span style="color:rgb(213,80,0)">Engineering Problem Solving</span>
33

44

5-
[![View on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/XXXXX-PROJECTNAME) or [![Open in MATLAB Online](https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg)](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/REPO_NAME&project=EngineeringProblemSolving.prj&file=README.mlx)
5+
[![View on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/XXXXX-PROJECTNAME) or [![Open in MATLAB Online](https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg)](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Engineering-Problem-Solving&project=EngineeringProblemSolving.prj&file=README.mlx)
66

7-
[![MATLAB Versions Tested](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMathWorks-Teaching-Resources%2FREPO_NAME%2Frelease%2FImages%2FTestedWith.json)](https://MathWorks-Teaching-Resources.github.io/REPO_NAME)
7+
[![MATLAB Versions Tested](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMathWorks-Teaching-Resources%2FEngineering-Problem-Solving%2Frelease%2FImages%2FTestedWith.json)](https://MathWorks-Teaching-Resources.github.io/Engineering-Problem-Solving)
88

99
**Curriculum Module**
1010

@@ -17,8 +17,7 @@ This curriculum module contains interactive [MATLAB® live scripts](https://www.
1717

1818
## Background
1919

20-
You can use these live scripts as demonstrations in lectures, class activities, or interactive assignments outside class. This module covers concepts that involve systems engineering, general problem solving philosophy, creating and testing requirements, and verification and validation activities for a real system. It also includes interactive examples of mathematical and physical models representing real systems. The main project of this module will be developing a delivery drone using the methodologies learned throughout.
21-
20+
This initial release of the Engineering Problem Solving courseware features one interactive script that explores problem solving philosophy with emphasis on engineering and concepts that involve systems engineering.
2221

2322
The instructions inside the live scripts will guide you through the exercises and activities. Get started with each live script by running it one section at a time. To stop running the script or a section midway (for example, when an animation is in progress), use the <img src="Images/EndIcon.png" width="19" alt="EndIcon.png"> Stop button in the **RUN** section of the **Live Editor** tab in the MATLAB Toolstrip.
2423

@@ -36,11 +35,11 @@ This module assumes knowledge of some problem solving theory. There is minimal M
3635
### Accessing the Module
3736
### **On MATLAB Online:**
3837

39-
Use the [<img src="Images/OpenInMO.png" width="136" alt="OpenInMO.png">](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/REPO_NAME&project=PROJECTNAME.prj) ***(EDIT OPEN IN MATLAB ONLINE LINK ACCORDINGLY)*** link to download the module. You will be prompted to log in or create a MathWorks account. The project will be loaded, and you will see an app with several navigation options to get you started.
38+
Use the [<img src="Images/OpenInMO.png" width="136" alt="OpenInMO.png">](https://matlab.mathworks.com/open/github/v1?repo=MathWorks-Teaching-Resources/Engineering-Problem-Solving&project=EngineeringProblemSolving.prj) link to download the module. You will be prompted to log in or create a MathWorks account. The project will be loaded, and you will see an app with several navigation options to get you started.
4039

4140
### **On Desktop:**
4241

43-
Download or clone this repository. Open MATLAB, navigate to the folder containing these scripts and double\-click on [EngineeringProblemSolving.prj](https://github.com/MathWorks-Teaching-Resources/Engineering-Problem-Solving%E2%80%8B/blob/release/EngineeringProblemSolving.prj) ***(EDIT TEXT AND HYPERLINK ACCORDINGLY)***. It will add the appropriate files to your MATLAB path and open an app that asks you where you would like to start.
42+
Download or clone this repository. Open MATLAB, navigate to the folder containing these scripts and double\-click on [EngineeringProblemSolving.prj](https://github.com/MathWorks-Teaching-Resources/Engineering-Problem-Solving/blob/main/EngineeringProblemSolving.prj). It will add the appropriate files to your MATLAB path and open an app that asks you where you would like to start.
4443

4544

4645
Ensure you have all the required products (listed below) installed. If you need to include a product, add it using the Add\-On Explorer. To install an add\-on, go to the **Home** tab and select <img src="Images/AddOnsIcon.png" width="16" alt="AddOnsIcon.png"> **Add-Ons** > **Get Add-Ons**.
@@ -60,19 +59,19 @@ Ensure you have all the required products (listed below) installed. If you need
6059
| :-: | :-- | :-- |
6160
| <img src="Images/TrafficPattern.png" width="171" alt="TrafficPattern.png"> <br> | $\bullet$ Explore the fundamentals of problem solving and systems engineering <br> $\bullet$ Enhance systems thinking skills by utilizing mathematical models <br> $\bullet$ Gain insights into methodologies for effectively approaching and solving problems <br> $\bullet$ Engage in project planning and understanding customer needs <br> | **Academic disciplines** <br> $\bullet$ All Engineering Disciplines <br> |
6261

63-
## [**DefiningRequirements.mlx**](DefiningRequirements.mlx)
62+
## [**DefiningRequirements.mlx (planned)**]
6463
| | **In this script, students will...** <br> | **Academic disciplines** <br> |
6564
| :-: | :-- | :-- |
6665
| <img src="Images/RequirementsClipboard.png" width="171" alt="RequirementsClipboard.png"> <br> | $\bullet$ Gain experience in interpreting and analyzing problem statements <br> $\bullet$ Explore different types of requirements and identify what constitutes a useful requirement <br> $\bullet$ Develop your own set of requirements for a sample problem statement <br> | **Academic disciplines** <br> $\bullet$ All Engineering Disciplines <br> |
6766

6867

69-
## [**SystemsDecomposition.mlx**](SystemsDecomposition.mlx)
68+
## [**SystemsDecomposition.mlx (planned)**]
7069
| | **In this script, students will...** <br> | **Academic disciplines** <br> |
7170
| :-- | :-- | :-- |
7271
| <img src="Images/Decomposition.png" width="200" alt="Decomposition.png"> <br> | $\bullet$ Utilize the V\-model to deconstruct your problem <br> $\bullet$ Gain expertise in deconstructing problems into manageable work components <br> $\bullet$ Conduct verification activities to ensure compliance with design criteria <br> | **Academic disciplines** <br> $\bullet$ All Engineering Disciplines <br> |
7372

7473

75-
## [**IntegrationAndTest.mlx**](IntegrationAndTest.mlx)
74+
## [**IntegrationAndTest.mlx (planned)**]
7675
| | **In this script, students will...** <br> | **Academic disciplines** <br>
7776
| :-- | :-- | :-- |
7877
| <img src="Images/Integration.png" width="200" alt="Integration.png"> <br> | $\bullet$ Utilize the V\-model to construct your solution <br> $\bullet$ Gain expertise in integrating components and conducting system\-level testing <br> $\bullet$ Conduct validation activities to ensure compliance with customer needs <br> | **Academic disciplines** <br> $\bullet$ All Engineering Disciplines <br> |
@@ -81,7 +80,7 @@ Ensure you have all the required products (listed below) installed. If you need
8180

8281
# License
8382

84-
The license for this module is available in the [LICENSE.md](https://github.com/MathWorks-Teaching-Resources/REPO_NAME/blob/release/LICENSE.md) ***(EDIT HYPERLINK ACCORDINGLY)*** .
83+
The license for this module is available in the [LICENSE.md](https://github.com/MathWorks-Teaching-Resources/Engineering-Problem-Solving/blob/main/LICENSE.md).
8584

8685
# Related Courseware Modules
8786
## [Introduction to Engineering with Arduino](https://www.mathworks.com/matlabcentral/fileexchange/156477-introduction-to-engineering-with-arduino)
@@ -104,7 +103,7 @@ Or feel free to explore our other [modular courseware content](https://www.mathw
104103

105104
# Contribute
106105

107-
Looking for more? Find an issue? Have a suggestion? Please contact the [MathWorks teaching resources team](mailto:%[email protected]). If you want to contribute directly to this project, you can find information about how to do so in the [CONTRIBUTING.md](https://github.com/MathWorks-Teaching-Resources/REPO_NAME/blob/release/CONTRIBUTING.md) ***(EDIT HYPERLINK ACCORDINGLY)*** page on GitHub.
106+
Looking for more? Find an issue? Have a suggestion? Please contact the [MathWorks teaching resources team](mailto:%[email protected]). If you want to contribute directly to this project, you can find information about how to do so in the [CONTRIBUTING.md](https://github.com/MathWorks-Teaching-Resources/Engineering-Problem-Solving/blob/main/CONTRIBUTING.md) page on GitHub.
108107

109108

110109
*©* Copyright 2024 The MathWorks™, Inc

README.mlx

-212 Bytes
Binary file not shown.

SoftwareTests/CheckTestResults.m

Lines changed: 0 additions & 49 deletions
This file was deleted.

SoftwareTests/FunctionTests.m

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)