image thumbnail

Signature Tool

version 3.3 (1.78 MB) by McSCert
The Signature Tool extracts the interface of a Simulink subsystem.

662 Downloads

Updated 22 Jul 2020

From GitHub

View license on GitHub

Editor's Note: This file was selected as MATLAB Central Pick of the Week

The notion of subsystem is used in Simulink to represent systems inside systems in order to provide hierarchical modeling. A Simulink subsystem has inports (explicit links to the subsystem), and outports (explicit links from the subsystem). We view inports and outports as the explicit interface of the subsystem. However, there are hidden (implicit) data dependencies in Simulink’s subsystems. Hidden dependencies originate due to two Simulink data mechanisms: Data Store Memory/Read/Write and Goto/From blocks. The Signature Tool extracts the signature of a Simulink subsystem. A signature represents the interface of a Simulink subsystem, making the data flow into and out of the subsystem explicit. The tool identifies two useful signatures for a subsystem: strong signature and weak signature. The strong signature identifies the data mechanisms that are accessed by the subsystem or any of its children. The weak signature identifies the data mechanisms that a subsystem can access (those which are declared higher up in the hierarchy), but is not necessarily using. The Signature Tool can be used to either explicitly include the signatures in the model itself, or export the signatures into a text/tex/docx file.

• For instructions on installation and how to use the tool, please see the included user guide: Signature/doc/Signature_UserGuide.pdf.

• This tool relies on our Simulink Utility. Please download it here: https://github.com/McSCert/Simulink-Utility.

For more about the theoretical background on signatures and how they can be used, an interested reader is referred to:
[1] Marc Bender, Karen Laurin, Mark Lawford, Vera Pantelic, Alexandre Korobkine, Jeff Ong, Bennett Mackenzie, Monika Bialy, Steven Postma, “Signature required: Making Simulink data flow and interfaces explicit,” Science of Computer Programming, Elsevier, 2015, 113, Part 1, 29-50.

For more about the capabilities of the tool and how it can be used in model-based development with Simulink, see the two papers:
[2] Vera Pantelic, Steven Postma, Mark Lawford, Alexandre Korobkine, Bennett Mackenzie, Jeff Ong, Marc Bender, "A Toolset for Simulink: Improving Software Engineering Practices in Development with Simulink," In Proceedings of 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2015), SCITEPRESS, 2015, 50-61. DOI: https://doi.org/10.5220/0005236100500061 (Best Paper Award)

[3] Vera Pantelic, Steven Postma, Mark Lawford, Monika Jaskolka, Bennett Mackenzie, Alexandre Korobkine, Marc Bender, Jeff Ong, Gordon Marks, Alan Wassyng, “Software engineering practices and Simulink: bridging the gap,” International Journal on Software Tools for Technology Transfer (STTT), 2017, 95–117. DOI: https://doi.org/10.1007/s10009-017-0450-9

Cite As

McSCert (2021). Signature Tool (https://github.com/McSCert/Signature/releases/tag/v3.3), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2017b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.