Grin logo
de en es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - Programming

Human Machine Interface Design mit State Chart XML

Evaluation von SCXML zur Nutzung in Model-Driven Development anhand der Implementierung des Qt Creators und Qt Frameworks

Title: Human Machine Interface Design mit State Chart XML

Seminar Paper , 2018 , 30 Pages , Grade: 1,0

Autor:in: Bernd Noetscher (Author)

Computer Science - Programming
Excerpt & Details   Look inside the ebook
Summary Excerpt Details

Deterministische Zustandsautomaten sind seit Jahrzehnten in der Softwareentwicklung üblich, erreichen aber schnell große Komplexität, wenn sehr viele Zustände zusammen in einem Modell betrachtet werden. Diese Komplexität reduziert die Lesbarkeit des Zustandsdiagramms. Eine bedeutende Erweiterung um die Komplexität zu reduzieren wurde daher von Harel für Zustandsautomaten entwickelt:

Ein Zustand kann zusammengesetzt sein aus anderen Zuständen, damit kann eine Hierarchie von Zuständen erstellt werden. Zwei oder mehr Zustände können parallel verarbeitet werden, was es ermöglicht parallele Prozesse abzubilden. Weiterhin kann ein Zustand seine aktuelle Zustandskonfiguration beim Verlassen des Zustands abspeichern. Wenn der Zustand dann erneut aktiv wird, kann die vorher gespeicherte Zustandskonfiguration wiederhergestellt werden.

SCXML greift die Ideen von Harel auf, denn es basiert auf Harel statecharts und CCXML (Call Control XML). Bei SCXML handelt es sich unabhängig von Human Machine Interfaces um eine Möglichkeit einen Prozess zu steuern. Es bietet die Möglichkeit Verhaltenslogik über einen Zustandsautomaten abzubilden und gehört zum Bereich Model-Driven Development. SCXML verarbeitet automatisch Zustände, Zustandsübergänge sowie Ereignisse und ermöglicht parallele Abläufe.

Einige Anwendungsszenarien sind:
– SCXML als neu zu verwendender Standard für CCXML 2.0 eingesetzt bei VoiceXML;
– Multimodale Anwendungen als Interaktionsmanager;
– Entwicklung von Benutzerschnittstellen;
– Hardwareprogrammierung/VHDL;
– Als allgemeine Steuerungssprache für Prozesse;
– Protokollverarbeitung mit endlicher Anzahl Zustände

Ziel dieses Papers ist die Evaluation von SCXML zur Nutzung in Model-Driven Development anhand der Implementierung des Qt Creators und Qt Frameworks. Dafür wurde die bestehende Implementierung in Qt gezielt nach Stärken und Schwächen untersucht und ein Praxisbeispiel als Widget-basierte Qt-Anwendung entwickelt um die Anwendbarkeit im Kontext für HMI-Design zu testen. Es soll herausgefunden werden, ob man eine Qt-Anwendung durch einen Zustandsautomaten steuern kann, ohne dass die Verhaltenslogik zusätzlich in C++ ausgedrückt werden muss.

Excerpt


Inhaltsverzeichnis

1. Einleitung

2. Grundlagen

2.1 Dateiformat und Notation

2.2 Deklarative Elemente in einem SCXML-Dokument

2.3 Imperative Elemente in einem SCXML-Dokument

2.4 Ausführungsumgebung

3. Übersicht über bestehende Implementierungen von SCXML

4. Untersuchung des Qt SCXML Moduls und dessen Integration in Qt Creator

4.1 Unterstützungshistorie

4.2 Abgrenzung von Qt SCXML zu älterem Qt Statemachine Framework

4.3 Abgrenzung von Qt SCXML zu QML States

4.4 Anwendung von Qt SCXML

4.5 Qualität der Umsetzung von SCXML in Qt

4.6 Vorteile und Nachteile der statischen und dynamischen Variante von SCXML

4.7 Testen von SCXML-Dokumenten

4.8 Validierung von SCXML-Dokumenten

4.9 Fazit zum Entwicklungsstand des Moduls Qt SCXML und der IDE Qt Creator hinsichtlich SCXML

5. Praxisbeispiel zur Untersuchung der Anwendbarkeit von SCXML als Verhaltenslogik zur Steuerung einer Qt Anwendung

5.1 Untersuchung einer möglichen Implementierungen innerhalb des bestehenden Java-Quelltextes für Android

5.2 Ergebnis und weitere Vorgehensweise

5.3 Portierung nach Qt als Prototyp

5.4 Ergebnisse des Prototyps

5.5 Diskussion und Bewertung zur Anwendbarkeit von SCXML mit Qt

6. Zusammenfassung und Ausblick

Zielsetzung & Themen

Diese Arbeit evaluiert die Eignung des SCXML-Standards für das Model Driven Development (MDD) innerhalb des Qt-Frameworks. Dabei wird insbesondere untersucht, wie SCXML als deklarative Komponente zur Steuerung der Verhaltenslogik in Kombination mit imperativen C++-Anwendungsteilen eingesetzt werden kann, um eine klare Trennung von Zustandsverwaltung und Applikationslogik zu erreichen.

  • Grundlagen von SCXML und Harel-Statecharts
  • Evaluation des Qt SCXML-Moduls und des Qt Creator-Editors
  • Vergleich der statischen versus dynamischen Variante von SCXML
  • Praktische Implementierung einer Verhaltenssteuerung anhand eines Prototyps
  • Analyse der Produktivität und technischer Nachteile der aktuellen Qt-Umsetzung

Auszug aus dem Buch

4.4 Anwendung von Qt SCXML

Die Einsetzbarkeit von SCXML für die zwei unterschiedlichen GUI Technologien von Qt ist gegeben. Sowohl Bestandteile des Moduls Widgets als auch Bestandteile von QML können einfach mit SCXML verknüpft werden [Qt Documentation Instantiating State Machines, 2017]. Im folgenden Abschnitt wird exemplarisch die Verwendung von SCXML anhand des Moduls Widgets erläutert.

QScxmlStateMachine Die Klasse QScxmlStateMachine bietet eine Schnittstelle zu einem Zustandsautomaten, der aus einer SCXML-Datei erstellt wurde.

connectToState Ermöglicht es C++ Anweisungen in einer Quelltextdatei mit einem Zustand zu verknüpfen, die ausgeführt werden sollen, sobald ein Zustand aktiv oder inaktiv wird. Für die Unterscheidung, ob aktiv oder inaktiv, wird jeweils ein Parameter vom Typ bool übergeben. Welcher Zustand verknüpft werden soll, muss mit einem Zustandsnamen vom Typ QString definiert werden. Das Quelltextbeispiel 1.4 zeigt eine mögliche Verwendung.

Zusammenfassung der Kapitel

1. Einleitung: Einführung in die Problematik deterministischer Zustandsautomaten und Vorstellung des Konzepts von Harel-Zustandsdiagrammen zur Reduktion von Komplexität.

2. Grundlagen: Erläuterung der technischen Basis von SCXML, inklusive der XML-basierten Notation, deklarativer sowie imperativer Elemente und der zustandsbasierten Ausführungsumgebung.

3. Übersicht über bestehende Implementierungen von SCXML: Überblick über verfügbare grafische Editoren und Open-Source-Implementierungen von SCXML für verschiedene Programmiersprachen.

4. Untersuchung des Qt SCXML Moduls und dessen Integration in Qt Creator: Detaillierte Analyse der Qt-spezifischen Unterstützung, Abgrenzung zu bestehenden Frameworks und Bewertung der Qualität hinsichtlich Kompatibilität, Validierung und Debugging.

5. Praxisbeispiel zur Untersuchung der Anwendbarkeit von SCXML als Verhaltenslogik zur Steuerung einer Qt Anwendung: Anwendung des theoretischen Wissens auf einen praktischen Prototyp, um die Vor- und Nachteile der SCXML-Integration in eine reale Applikationsstruktur zu validieren.

6. Zusammenfassung und Ausblick: Abschließende Bewertung der Eignung von SCXML für MDD in Qt sowie ein Ausblick auf zukünftige Entwicklungsnotwendigkeiten zur Steigerung der Produktivität.

Schlüsselwörter

SCXML, State Chart XML, Qt SCXML, Qt Creator, Qt Framework, UML Statechart, Zustandsautomat, Model Driven Development, MDD, Verhaltenslogik, Zustandsübergänge, C++, QML, Widgets, Softwareentwicklung

Häufig gestellte Fragen

Worum geht es in dieser wissenschaftlichen Arbeit grundsätzlich?

Die Arbeit befasst sich mit der Evaluation von SCXML (State Chart XML) als Standard zur Modellierung der Verhaltenslogik innerhalb des Qt-Frameworks für die Softwareentwicklung.

Welche zentralen Themenfelder werden in der Arbeit behandelt?

Die zentralen Themen sind die theoretischen Grundlagen von SCXML, die Implementierungsqualität des Qt SCXML-Moduls in der IDE Qt Creator sowie die praktische Anwendung zur Steuerung von Applikationen.

Was ist das primäre Ziel oder die Forschungsfrage der Arbeit?

Es soll untersucht werden, ob sich SCXML im Rahmen eines Model Driven Development-Ansatzes innerhalb von Qt produktiv nutzen lässt, um die Anwendungslogik von der visuellen Darstellung zu trennen.

Welche wissenschaftliche Methode wird für die Evaluation verwendet?

Der Autor kombiniert eine theoretische Analyse der Spezifikationen und bestehenden Implementierungen mit einer praktischen Prototyp-Entwicklung, um die Anwendbarkeit unter realen Bedingungen zu testen.

Was wird schwerpunktmäßig im Hauptteil behandelt?

Der Hauptteil analysiert die Qt-Integration, vergleicht statische und dynamische Varianten, bewertet die Qualität der Werkzeuge (Editor, Debugger) und dokumentiert die Portierung eines Android-App-Beispiels nach Qt.

Welche Schlüsselwörter charakterisieren die Arbeit?

Die Arbeit wird durch Begriffe wie SCXML, Zustandsautomat, Model Driven Development (MDD), Qt Framework, Verhaltenslogik und C++ Integration charakterisiert.

Warum ist eine Trennung von Zustandslogik und GUI in Qt sinnvoll?

Die Trennung erhöht die Wartbarkeit und Lesbarkeit des Quellcodes, da die Steuerungslogik ('Wann passiert etwas') zentral in SCXML definiert wird, während die Ausführungslogik ('Wie passiert es') in C++ implementiert ist.

Was ist ein wesentliches Ergebnis bezüglich der Produktivität der Qt-Tools?

Obwohl der grafische Editor die Modellerstellung erleichtert, gibt es Defizite beim Quelltext-Debugging und bei der Validierung innerhalb von SCXML-Dateien, was den produktiven Einsatz teilweise erschwert.

Excerpt out of 30 pages  - scroll top

Details

Title
Human Machine Interface Design mit State Chart XML
Subtitle
Evaluation von SCXML zur Nutzung in Model-Driven Development anhand der Implementierung des Qt Creators und Qt Frameworks
College
University of Applied Sciences Darmstadt
Grade
1,0
Author
Bernd Noetscher (Author)
Publication Year
2018
Pages
30
Catalog Number
V424857
ISBN (eBook)
9783668744097
ISBN (Book)
9783668744103
Language
German
Tags
human machine interface design state chart evaluation scxml nutzung model-driven development implementierung creators frameworks
Product Safety
GRIN Publishing GmbH
Quote paper
Bernd Noetscher (Author), 2018, Human Machine Interface Design mit State Chart XML, Munich, GRIN Verlag, https://www.grin.com/document/424857
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  30  pages
Grin logo
  • Grin.com
  • Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint