continuous modeling with matlab and microsoft azure devops
TRANSCRIPT
21.04.20211
Continuous Modeling with MATLAB andMicrosoft Azure DevOpsWojciech Halabis
Test and Validation Engineer
21.04.20212 21.04.20212
1. Introduction
2. Motivation
3. Solution
4. Microsoft Azure DevOps
5. Use Cases
6. Conclusion
21.04.20213 21.04.20213
Introduction about myself1. Introduction
Working at CLAAS since August 2018.
Professional software development since 2013.
Current position: Test Automation in IoT (Architectural design, Test specification and implementation, continuous testing…).
5+ years experience in modular software design using “git flow”.
I am 33 years old.
Degree in Electronics (B.Eng.) and Engineering Physics (M.Sc.).
21.04.20214 21.04.20214
CLAAS Company presentation1. Introduction
21.04.20215 21.04.20215
CLAAS E SYSTEMS Company presentation1. Introduction
21.04.20216 21.04.20216
1. Introduction
2. Motivation
3. Solution
4. Microsoft Azure DevOps
5. Use Cases
6. Conclusion
21.04.20217 21.04.20217
2. Motivation
Have you experienced problems during integration of MATLAB Simulink models?
Are those people working at different locations, even countries?
Do you feel that your teams develop several times similar stuff, e.g. libraries?
Do you want to adopt agile methodologies?
Are your models complex?
Are there 10+ people working on the same model?
Who may be interested in this presentation
[1]
[2]
[3]
[4]
21.04.20218 21.04.20218
Best practices for modular mode design
Use model reference for unit-level models.
Pick a strategy for grouping units into features.
Avoid algorithmic content at the integration level.
Classify models according to safety requirements.
Use model metrics to monitor unit complexity.
Define the role of model architects and integrators.
2. Motivation
[5]
[6]
21.04.20219 21.04.20219
1. Introduction
2. Motivation
3. Solution
4. Microsoft Azure DevOps
5. Use Cases
6. Conclusion
21.04.202110 21.04.202110
Taking the approach of other industries3. Solution
Do you know who I´m talking about?
So… why don’t we use some of their approaches?
SOFTWARE ENGINEERING
These problems are not new, there are a lot of engineers that have been struggling for years with them.
21.04.202111 21.04.202111
1. Introduction
2. Motivation
3. Solution
4. Microsoft Azure DevOps
5. Use Cases
6. Conclusion
21.04.202112 21.04.202112
Covering the entire application lifecycle with Microsoft Azure DevOps4. Microsoft Azure DevOps
It provides version control.
It provides reporting and requirements management.
It provides project management, for both agile software development and waterfall teams.
It provides automated build, testing and release management.
[4]
[16]
[17]
21.04.202113 21.04.202113
Snapshots – Home page4. Microsoft Azure DevOps
21.04.202114 21.04.202114
Snapshots – Git repositories4. Microsoft Azure DevOps
Files in the repository „Commits“ or history of
the model repository
Name of the repository
Name of the repository
Name of the repository
Responsible of the commit
21.04.202115 21.04.202115
Snapshots – Knowledge base4. Microsoft Azure DevOps
21.04.202116 21.04.202116
Putting your models in version control system
Restore previous versions.
Maintain properly our versions.
Understand all the time what is happening.
Encourage collaboration.
ALL OF THAT JUST BY INTEGRATING PROPERLY A VERSION CONTROL SYSTEM IN YOUR COMPANY
4. Microsoft Azure DevOps
[7]
[8]
[9]
[10]
21.04.202117 21.04.202117
Faster development with appropriate git tool
As a command line tool With a git GUI Integrated
4. Microsoft Azure DevOps
21.04.202118 21.04.202118
Developing models using the “git flow”4. Microsoft Azure DevOps
21.04.202119 21.04.202119
Traceability out of the box
REQ: a function that calculatesmax of two values
Automatic creation of feature-branches for the model, important for almost automated release notes creation
4. Microsoft Azure DevOps
21.04.202120 21.04.202120
1. Introduction
2. Motivation
3. Solution
4. Microsoft Azure DevOps
5. Use Cases
6. Conclusion
21.04.202121 21.04.202121
Example of modular design with git submodules5. Use Cases
“Welding” for your interfaces “Nuts and bolts” for your interfaces[14] [15]
git repository
git submodule
git submodule
git submodule
git submodule
git submodule
21.04.202122 21.04.202122
Externalization and reuse of model unitsTyre supplier company
OEM
Supplier company “A” OEM – Department “A”
OEM – Department “B”
Engine supplier company
5. Use Cases
git repository
21.04.202123 21.04.202123
Development efforts based on safety requirements of model units
Non safety critical model unit
Safety critical model unit
1
5
1
5
3
2
4
5. Use Cases
git repository
21.04.202124 21.04.202124
1. Introduction
2. Motivation
3. Solution
4. Microsoft Azure DevOps
5. Use Cases
6. Conclusion
21.04.202125 21.04.202125
Where are we now at CLAAS
Departments that have developed a modelling process without git, are being trained and will adopt this methodologies in the near future.
Growing number of machine Simulink models are being built on top of git submodules.
Different departments are already working using this methodology.
6. Conclusion
[11]
[12]
[13]
[11]
21.04.202126 21.04.202126
References6. Conclusion
[1] https://thenounproject.com/weltenraser/
[2] https://thenounproject.com/rshashank19/
[4] https://thenounproject.com/floicons/
[3] https://thenounproject.com/nhor/collection/global-business
[5] https://thenounproject.com/popcornartsgfx
[6] https://thenounproject.com/lastspark
[7] https://thenounproject.com/icondesign018
[8] https://thenounproject.com/victorulerz
[10] https://thenounproject.com/mirhashemihamed
[11] https://thenounproject.com/hatti27789service
[13] https://thenounproject.com/chatsudastock
[12] https://thenounproject.com/IconTrack/
[9] https://thenounproject.com/rshashank19/
[14] https://thenounproject.com/Flatart
[15] https://thenounproject.com/mnhendricks11
[17] https://thenounproject.com/coquet_adrien
[16] https://thenounproject.com/AlfredoCreates