Authoring a Digital Thread in System Composer

版本 1.1.0 (1.0 MB) 作者: Ugo Pattacini
Tutorial on using System Composer for Model-Based System Engineering
17.0 次下载
更新时间 2024/3/28

👨‍🔬 Authoring architectures via System Composer

This tutorial provides a complete system architecture example using System Composer, bulding on the following resources:

In detail, the project consists in a system controlling a pendulum, showing how to deal with:

  • Requirements
  • Architectures
  • Variant subsystems
  • Test harnesses
  • Test cases
  • Digital threads

Open the project and browse it to discover how the requirements are linked to the architecture, how the architecture is linked to the test harnesses, and how the test harnesses are linked to the test cases.
This is the so-called digital thread.

Run the test suite to verify that the system is working as expected.

playback_mech_explorer.mp4

Warning

To correctly render the simulation outputs, always run all the test cases at once.

🎓 Assignment

  • Create a further requirement to verify the safety properties of the system when the pendulum gets in contact with an external obstacle while being driven by the controller at a constant velocity:
    "The contact shall be detected and the interaction force shall be reduced under <math-renderer class="js-inline-math" style="display: inline" data-static-url="https://github.githubassets.com/static" data-run-id="c1e4b7070487ae458d7c164f965ab9d5">$1$</math-renderer> <math-renderer class="js-inline-math" style="display: inline" data-static-url="https://github.githubassets.com/static" data-run-id="c1e4b7070487ae458d7c164f965ab9d5">$\text{N}$</math-renderer> within <math-renderer class="js-inline-math" style="display: inline" data-static-url="https://github.githubassets.com/static" data-run-id="c1e4b7070487ae458d7c164f965ab9d5">$1$</math-renderer> <math-renderer class="js-inline-math" style="display: inline" data-static-url="https://github.githubassets.com/static" data-run-id="c1e4b7070487ae458d7c164f965ab9d5">$\text{s}$</math-renderer>".
    "Once the contact is detected, the system stops receiving further set-points".
  • Enable the Test Safety in the test suite and associate the new requirement to the test case.
  • Modify the controller to take the safety requirement into account.
  • Run the test suite to validate your approach.

To complete the assignment do:

  1. Generate a copy of this repository into your account. Tick in the option "include all branches" ✔
  2. Create the branch solution off of the branch master.
  3. Commit into the branch solution your development.
  4. Push/sync the changes up to GitHub.
  5. Create a pull request (PR) with master as base branch and solution as compare branch.
  6. Request to review your PR 👋 to turn in the assignment.

📦 Required MATLAB toolboxes and Simulink blocksets

  • MATLAB
  • Simulink
  • System Composer
  • Requirements Toolbox
  • Motor Control Blockset
  • Simscape
  • Simscape Electrical
  • Simscape Multibody
  • Simulink Test

引用格式

Ugo Pattacini (2024). Authoring a Digital Thread in System Composer (https://github.com/icub-tech-iit/training-systemcomposer-pendulum/releases/tag/v1.1.0), GitHub. 检索来源 .

MATLAB 版本兼容性
创建方式 R2023b
兼容任何版本
平台兼容性
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.1.0

See release notes for this release on GitHub: https://github.com/icub-tech-iit/training-systemcomposer-pendulum/releases/tag/v1.1.0

1.0.1

See release notes for this release on GitHub: https://github.com/icub-tech-iit/training-systemcomposer-pendulum/releases/tag/v1.0.1

1.0.0

要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库