Design auf Systemebene. Teil 3: Verknüpfung von System Composer und der MathWorks Toolchain

In den ersten beidenIn Teilen des Tutorials haben wir uns mit dem Erstellen und Entwerfen von Systemarchitekturen auf Systemebene und gleichzeitig mit System Composer befasst. Die Architektur des Systems selbst ist ausgezeichnet, aber Sie müssen sicherstellen, dass es mit dem entwickelten System verbunden ist. Das Fehlen einer solchen Verbindung in herkömmlichen Tools, die SysML oder UML verwenden, war übrigens der Grund für die Erstellung von System Composer. Tatsache ist, dass viele Unternehmen bereits das MOS-Paradigma (Model-Oriented Design) für die Entwicklung verwenden und für die Systemtechnik Tools von Drittanbietern verwenden mussten, was unpraktisch war. System Composer wurde erstellt, um diese Lücke zu schließen. In diesem letzten Teil des Tutorials werde ich zeigen, wie System Composer zusammen mit der MathWorks-Toolchain für modellorientiertes Design verwendet wird.

Architektur an Anforderungen binden


Definieren wir zunächst die Anforderungen. Anforderungen sind, was das System tun sollte. Ihre Unterschiede zu den technischen Spezifikationen bestehen darin, dass die Anforderungen eine Beschreibung der Funktionsweise des Systems sind. MATLAB / Simulink verfügt über ein Simulink Requirements Requirements Management Tool. Sie können Anforderungen sowohl von externen Systemen wie IBM DOORS importieren als auch in den nativen Anforderungseditor schreiben. Die Anforderungen selbst werden in speziellen Dateien mit der Erweiterung * .slreqx gespeichert. Erstellen Sie die Anforderungen und speichern Sie sie in der Datei AccessControl.slreqx. Wir werden die Anforderungen selbst aus der Begründung des ersten Teils formulieren:

  • Das Lesen des RFID-Tags muss bereitgestellt werden.
  • Vom RFID-Tag abgerufene Daten müssen in eine externe Datenbank übertragen werden
  • Basierend auf der Datenbankantwort wird ein Verbot oder eine Berechtigung generiert
  • Der Benutzer muss über den Zugriffsstatus informiert werden
  • Die Sperre wird basierend auf dem Zugriffsstatus entsperrt

Diese Anforderungen wurden im Anforderungseditor erstellt, einem Tool zur Erstellung von Anforderungen, das in Simulink-Anforderungen enthalten ist, und in einer Datei gespeichert. Wenn Sie diese Datei im Modell selbst mit der Anforderungsperspektive öffnen, wird Folgendes



angezeigt : Um eine Anforderung an ein Architekturelement anzuhängen, übertragen Sie die Anforderung einfach mit der Maus auf das gewünschte Architekturelement.

Und was ist, wenn sich die Anforderungen geändert haben, wie dies in den frühen Entwurfsphasen häufig der Fall ist? Wie können ihre Auswirkungen auf unsere Architektur analysiert werden? Glücklicherweise können Sie mit Simulink-Anforderungen Änderungen an Anforderungen verfolgen und die Architekturelemente markieren, die von diesen Änderungen betroffen waren:



Um die Abdeckung einer Architektur mit Anforderungen zu analysieren, wählen Sie auf der Registerkarte Anforderungen die Option Freigeben und dann Rückverfolgbarkeitsmatrix generieren aus. Es wird eine Rückverfolgbarkeitsmatrix erstellt, die die Beziehungen von Anforderungen und Elementen grafisch anzeigt. Diese Matrix ist eine Tabelle, deren Spalten die Elemente der Architektur oder des Modells sind, die Zeilen die Anforderungen selbst sind und die Zellen grafische Hinweise zur Beziehung zwischen den Anforderungen und den Elementen enthalten.

Wenn Sie auf die Schaltfläche Fehlende Links hervorheben klicken, werden nicht abgedeckte Elemente in der Matrix gelb hervorgehoben:



Die Analyse der Vollständigkeit von Anforderungen und ihrer Rückverfolgbarkeit ist ein sehr wichtiger Prozess, wenn Sie ein sicherheitskritisches System erstellen, das für ein Flugzeug, ein Auto oder einen Kernreaktor keine Rolle spielt. Für solche Systeme sollten keine Elemente von den Anforderungen abgedeckt werden! Wenn Sie daran interessiert sind, wie diese Systeme entwickelt werden und wie sie im MOS-Paradigma entwickelt werden, schreiben Sie in die Kommentare, da das Thema sehr umfangreich und lang ist und über den Rahmen des Tutorials hinausgeht.

Architekturanalyse bei MATLAB


Da System Composer Teil der MathWorks-Toolchain ist, können wir die Eigenschaften der Architektur analysieren, Berichte erstellen und vieles mehr. Die Analyse der Architektur ermöglicht es Ihnen, die Anzahl der für die Implementierung des Systems erforderlichen Arbeitsstunden, das Mindestgewicht und die Mindestabmessungen, die TDP usw. zu berechnen. Und wenn wir eine Analyse systematisch und nicht einmalig durchführen, können wir die Dynamik der Entwicklung unseres Systems erkennen und Problembereiche finden.

Angenommen, wir möchten für unser ACS die Anzahl der Arbeitsstunden berechnen. Alle Komponenten haben eine gemeinsame Workload-Eigenschaft, und natürlich müssen wir die Werte dieser Eigenschaften addieren. Erstellen Sie dazu eine Architekturinstanz für die Analyse, indem Sie auf das Analysemodell klicken und dann die generische Komponente für die Analyse auswählen:



Klicken Sie dann auf die Schaltfläche Instanziieren und erhalten Sie das folgende Ergebnis:



Hier können wir jedem Element die Werte der Workload-Eigenschaft zuweisen und auf die Schaltfläche Aktualisieren klicken, um diese Werte in der Architektur selbst zu aktualisieren. Wir müssen nicht klicken, da die Instanz getrennt von der Architektur vorhanden ist und wir mit Eigenschaftswerten herumspielen können, um Projektkompromisse zu finden oder optimale Eigenschaftswerte zu finden. Die Analyse selbst wird von einer separaten Funktion durchgeführt, die in MATLAB erstellt wurde. Hier ist zum Beispiel der Code für unsere "analytische" Funktion:

function AccessControl_simple_analytics(instance,varargin)
if instance.isComponent()
workload = 0;    
    for child=instance.Components
        child_workload = child.getValue("GenericComponent.Workload");
        workload = workload + child_workload;
    end
instance.setValue("GenericComponent.Workload",workload);
end
end

Nachdem die Funktion erstellt wurde, klicken Sie auf Analysieren und wählen Sie sie im Menü Funktion auswählen aus. Wenn Sie nun auf die Schaltfläche Analysieren klicken, wird der Wert der Workload-Eigenschaft summiert:



Dies war ein äußerst einfaches Beispiel für die Architekturanalyse. In realen Kampf- und Analyseaufgaben wird das gesamte Spektrum der MATLAB-Analysefunktionen wie Kurvenanpassung, Regressionsanalyse usw. verwendet.

Die Hauptsache hier ist, dass wir eine systematische Analyse unserer Architektur durchführen können und sollten, um das Projekt zu entwickeln.

Die Beziehung der Komponenten und ihre Implementierung


Und schließlich ist System Composer kein separates Tool, das separat von Simulink existiert. Nach dem Definieren der Architektur kann jede ihrer Komponenten an ein Simulink-Modell gebunden werden, während Sie ein vorhandenes Modell auswählen oder automatisch ein Modell erstellen können! Auf diese Weise können Sie Simulationen ausführen und die Verhaltensmerkmale des Systems direkt in System Composer untersuchen.



Wenn ein Modell aus einer Komponente erstellt wird, werden vor allem die Eingabe- und Ausgabeports mit den erforderlichen Schnittstellen automatisch im Modell generiert. Dies ist eine sehr wichtige Kleinigkeit, da die Komponentenintegration normalerweise aufgrund inkonsistenter Komponentenschnittstellen verlangsamt wird und vorgefertigte Schnittstellen dieses Problem lösen. Jedes generierte Modell kann einem bestimmten Künstler übergeben werden und ruhig sein, dass es später in die Architektur integriert wird

Ergebnisse


In drei Artikeln habe ich die grundlegenden Entwurfstechniken auf Systemebene gezeigt. Es ist Zeit, Bilanz zu ziehen.

Das Entwerfen auf Systemebene erfordert eine ziemlich detaillierte Analyse der Aufgabe und erfordert intuitive Werkzeuge. System Composer ist ein leicht zu erlernendes Tool und nutzt die modellorientierte Entwurfsmethodik zum Erstellen und Analysieren von Systemarchitekturen sowie die Analysefunktionen von MATLAB voll aus.

Die Verwendung von System Composer für eine gründliche Analyse von Entwurfsentscheidungen ermöglicht es uns, die Art der Komponenten zu verstehen und potenzielle Engpässe im System zu identifizieren, die sonst in den späten Entwicklungsstadien auftreten würden. Für die Analyse können verschiedene Methoden verwendet werden - von der Datenflussanalyse bis zur numerischen Analyse.

Und wie Sie sehen, ist das Entwerfen auf Systemebene überhaupt nicht beängstigend, und Tools, die das Systemdesign unterstützen, helfen Ihnen dabei.

Möchten Sie mehr wissen? Wir haben ein Einführungswebinar zum Thema Systemtechnik durchgeführt. Im Rahmen dieses Webinars habe ich gerade dieses Tutorial gezeigt. Und mein Kollege Mikhail Peselnik erklärte, warum überhaupt Systemtechnik benötigt wird. Das Webinar selbst ist hier .

All Articles