System Design Toolkit

Preview:

DESCRIPTION

System Design Toolkit. Ein Werkzeug zur Gestaltung von Benutzerschnittstellen für Embedded Systems. Die Qualität der Bedienoberfläche ist entscheidend für den Markterfolg. Anmutung Erster Eindruck, einfache Zugänglichkeit der Grundfunktionen - PowerPoint PPT Presentation

Citation preview

04/21/23 System Design Toolkit 1

System Design Toolkit

Ein Werkzeug zur Gestaltung von Benutzerschnittstellen für

Embedded Systems

04/21/23 System Design Toolkit 2

Die Qualität der Bedienoberfläche ist entscheidend für den Markterfolg

AnmutungErster Eindruck, einfache Zugänglichkeit der Grundfunktionen

Beeinflußt Kaufentscheidung

BedienbarkeitEmpfundener Nutzen im täglichen Gebrauch

Beeinflußt Kundenzufriedenheit und damit langfristige Kundenbindung

04/21/23 System Design Toolkit 3

User Experience und die unterschiedlichen Sichtweisen von Herstellern und Kunden

Sicht des Herstellers• Zentriert auf die technische

Lösung des Problems• Zielgruppe „Power User“• Bedienoberfläche dient dazu,

alle technischen Möglichkeiten des Produkts zugänglich zu machen

Sicht des Kunden• Produkt löst ein Problem

unter vielen• Bedienoberfläche soll diese

Lösung einfach zugänglich machen

• Produkt soll Abläufe verein-fachen, nicht komplizieren

04/21/23 System Design Toolkit 4

Bessere Produkte durch Mitwirkung der Kunden bei der Entwicklung

Voraussetzung:Überwindung der Sprachbarrieren: Hersteller denken in technischen Kategorien, Kunden sehen die Anwendung

LösungsansatzVerständliche Beschreibung von Abläufen

Einsatz von Prototypen

Sobald Entwürfe ‚greifbar‘ werden entsteht ein Dialog zwischen Kunden und Entwicklern

04/21/23 System Design Toolkit 5

Typische Struktur eines embedded System

Eingabeelemente(Tasten, Drehgeber, Potentiometer)

Hardware-Anzeigeelemente(LEDs, Ziffernanzeigen)

Software-Anzeigeelemente

(Bildschirm-inhalte)

Front-End Software(Steuerung der Bedienabläufe)

Back-End Software(Meßwertverarbei-tung, Aktuatoran-steuerung, Algorithmen)

IFHW

IFHW

IFSW

IFSW

Technische Kompetenz

des Herstellers

Aufgabe des HMI Designers

04/21/23 System Design Toolkit 6

System Design Toolkit

Anwendungsbereich:Partizipativer Systementwurf für Embedded Systems

Schwerpunkt:Modellbasierter SystementwurfDurchgängige Unterstützung vom Use Case bis zur CodegenerierungRapid Prototyping

04/21/23 System Design Toolkit 7

System Design Toolkit

Technik:UML basiert; komponentenorientiert

Methodik:modellbasiert, enge Vernetzung der Diagramme, keine Vorgabe der Vorgehensweise, jederzeit Prototypen verfügbar, jederzeit Code generierbar

04/21/23 System Design Toolkit 8

System Design Toolkit

Was ist anders als in UML Werkzeugen ?• strikte Komponentenorientierung im Modell;

Schnittstelle bestehend aus einem Protokoll von Events und Messages

• vollständige Codegenerierung, nicht nur Klassendefinitionen, Methodenrümpfe oder Call Sequenzen

04/21/23 System Design Toolkit 9

System Design Toolkit

Was ist anders als in UML Werkzeugen ? (II)• keine Klassendiagramme

Durch konsequente Komponentenorientierung spielt die interne Struktur keine Rolle im Entwurfsprozeß. Zielcode u.U. nicht in OO Sprache

• nur eine AbstraktionsebeneEntwürfe mit inkonsequenter Handhabung der Abstraktionsebene verursachen ernste Probleme bei der Umsetzung in lauffähige Software

04/21/23 System Design Toolkit 10

System Design Toolkit

Komponenten• User Interface Simulationen

• State Machinesbeschreiben Abläufe im System

• Externe Interfacesbeschreiben Anbindung an existierende Fremdkomponenten

• Standardkomponentenlösen Standardprobleme

04/21/23 System Design Toolkit 11

System Design Toolkit

Werkzeuge:Interaction Diagram EditorInteraction Diagram Editor

User Interface Simulator

State Diagram EditorState Diagram Editor

Collaboration Diagram EditorCollaboration Diagram Editor

Code GeneratorCode Generator

04/21/23 System Design Toolkit 12

Interaction

Diagram Editor

• Verwaltung von KomponentenEinfügen, Anordnen, Splitten und Zusammenfassen von Komponenten; zentrales Fenster des Werkzeugs

• Verwaltung von Use CasesUse Cases werden als Sequenzen von Interaktionen beschrieben. Eine Interaktion besteht aus einem Ereignis das eine Message triggert.

System Design Toolkit

04/21/23 System Design Toolkit 13

Interaction

Diagram Editor (II)

• Eingabe von Use CasesUse Cases werden definiert, indem Interaktionen als Pfeile zwischen den ‚Lebenslinien‘ der Komponenten gezogen werden. Für jede Interaktion wird dann noch Ereignis, Message und evtl. Parameter definiert.Das System ergänzt im Hintergrund die notwendigen Verbindungen und überwacht die Konsistenz

System Design Toolkit

04/21/23 System Design Toolkit 14

Interaction

Diagram Editor (III)

• Textuelle Eingabe von Use CasesUse Cases können auch in textueller Form angezeigt und definiert werden.

Hierfür wird ein syntaxgesteuerter Editor verwendet, der die jeweils möglichen, korrekten Fortsetzungen der Eingaben als Folge von Auswahlmenüs anbietet.

System Design Toolkit

04/21/23 System Design Toolkit 15

User Interface Simulator

• kein GUI-Builder,denn Werkzeuge zum Erstellen von Bedienoberflächen sind in vielen Varianten verfügbar

• Simulation von BedienoberflächenBitmaps, Vektorgraphik und maussensitive Flächen ergeben realistische Simulationen

Für den Zielcode wird ein Mapping der simulierten Schnittstellen auf die realen definiert

System Design Toolkit

04/21/23 System Design Toolkit 16

Aufgabenverteilung bei Entwurf und Simulation der Benutzerschnittstelle

Eingabeelemente(Tasten, Drehgeber, Potentiometer)

Hardware-Anzeigeelemente(LEDs, Ziffernanzeigen)

Software-Anzeigeelemente

(Bildschirm-inhalte)

Front-End Software(Steuerung der Bedienabläufe)

Back-End Software(Meßwertverarbei-tung, Aktuatoran-steuerung, Algorithmen)

IFHW

IFHW

IFSW

IFSW

Entwurf im GUI Simulator

04/21/23 System Design Toolkit 17

Aufgabenverteilung bei Entwurf und Simulation der Benutzerschnittstelle

Eingabeelemente(Tasten, Drehgeber, Potentiometer)

Hardware-Anzeigeelemente(LEDs, Ziffernanzeigen)

Software-Anzeigeelemente

(Bildschirm-inhalte)

Front-End Software(Steuerung der Bedienabläufe)

Back-End Software(Meßwertverarbei-tung, Aktuatoran-steuerung, Algorithmen)

IFHW

IFHW

IFSW

IFSW

Entwurf in externem GUI Builder

04/21/23 System Design Toolkit 18

Aufgabenverteilung bei Entwurf und Simulation der Benutzerschnittstelle

Eingabeelemente(Tasten, Drehgeber, Potentiometer)

Hardware-Anzeigeelemente(LEDs, Ziffernanzeigen)

Software-Anzeigeelemente

(Bildschirm-inhalte)

Front-End Software(Steuerung der Bedienabläufe)

Back-End Software(Meßwertverarbei-tung, Aktuatoran-steuerung, Algorithmen)

IFHW

IFHW

IFSW

IFSW

Import von Bildschirminhalten aus

ext. GUI Builder in GUI Simulator

04/21/23 System Design Toolkit 19

Aufgabenverteilung bei Entwurf und Simulation der Benutzerschnittstelle

Eingabeelemente(Tasten, Drehgeber, Potentiometer)

Hardware-Anzeigeelemente(LEDs, Ziffernanzeigen)

Software-Anzeigeelemente

(Bildschirm-inhalte)

Front-End Software(Steuerung der Bedienabläufe)

Back-End Software(Meßwertverarbei-tung, Aktuatoran-steuerung, Algorithmen)

IFHW

IFHW

IFSW

IFSW

Umfang der Simulation

im SDT

Backend wird teilweise simu-liert (z.B Echt-zeitdaten)

04/21/23 System Design Toolkit 20

System Design Toolkit

State Diagram Editor

• Finite State Machinessind eine bewährte, effiziente und robuste Technik zur Beschreibung von Systemverhalten

• Verkoppelte FSMs statt State ChartsDer kombinatorischen Explosion der Zustände wird durch Aufteilung auf mehrere verkoppelte FSMs statt durch Einführung interner Substates begegnet.

Durch Erhalt der extrem einfachen interne Struktur können FSMs aus Use Cases generiert werden

04/21/23 System Design Toolkit 21

System Design Toolkit

State Diagram Editor II

• Graph Darstellunganschaulich, direkt editierbar, umfangreiche Darstellung der Aktionen

• Visualisierung von AbläufenMit Hilfe der GUI Simulation können FSMs direkt ausgeführt werden, die Abläufe werden dabei über verblassende Einfärbungen der Zustandsübergänge angezeigt.

04/21/23 System Design Toolkit 22

System Design Toolkit

State Diagram Editor III

• Tabellendarstellungkompakt, ohne Darstellung von Aktionen auch für sehr große FSMs geeignet.

Einfache Kontrolle der Integrität von Zuständen

• Visualisierung von AbläufenWie in der Graph-Darstellung können auch hier Abläufe über verblassende Einfärbungen der Tabelleneinträge angezeigt werden.

04/21/23 System Design Toolkit 23

System Design Toolkit

StandardkomponentenCounter Einfacher Zähler

Calculation Numerische Berechnungen

Comparison Vergleiche zwischen numerischen Werten

Timer Einfacher Timer

Table Lookup In Tabelle suchen oder Cursor bewegen

Monitored Value Zahlenwerte gegen Grenzen überwachen

Alphanumeric Entry Texteingabe mit Cursor

04/21/23 System Design Toolkit 24

System Design Toolkit

Editoren für Standardkomponentenz.B. Counter z.B. Calculation

04/21/23 System Design Toolkit 25

System Design Toolkit

Editor für Kollaborations-

diagrammeZwei Darstellungsarten:

• UML Kollaborationsdigramme; es werden alle Inter-aktionen für den ausgewählten Use Case angezeigt, die Reihenfolge wird durch eine Numerierung dargestellt

• Beziehungsdiagramme; die Verbindungen zwischen Events und Messages der Komponenten können ange-zeigt und editiert werden. Ablaufvisualisierung wie bei FSMs

04/21/23 System Design Toolkit 26

System Design Toolkit

Code Generator

• ZielcodeausgabeEinfache Änderungskontrolle

• Anpassung an die ZielumgebungZuordnung von Funktionen externer Komponenten.

Festlegung der Programmstrukturen

• Erzeugen von Java AppletsPrototypen ortsunabhängig einsetzen (z.B. Usability Check, Schulungssoftware, Werbung auf Websites)

NEU

04/21/23 System Design Toolkit 27

Umfang des generierten Codes

Eingabeelemente(Tasten, Drehgeber, Potentiometer)

Hardware-Anzeigeelemente(LEDs, Ziffernanzeigen)

Software-Anzeigeelemente

(Bildschirm-inhalte)

Front-End Software(Steuerung der Bedienabläufe)

Back-End Software(Meßwertverarbei-tung, Aktuatoran-steuerung, Algorithmen)

IFHW

IFHW

IFSW

IFSW

Umfang des Codes, der für das Zielsystem generiert wird

04/21/23 System Design Toolkit 28

Umfang des generierten Codes

Eingabeelemente(Tasten, Drehgeber, Potentiometer)

Hardware-Anzeigeelemente(LEDs, Ziffernanzeigen)

Software-Anzeigeelemente

(Bildschirm-inhalte)

Front-End Software(Steuerung der Bedienabläufe)

Back-End Software(Meßwertverarbei-tung, Aktuatoran-steuerung, Algorithmen)

IFHW

IFHW

IFSW

IFSW

Hardware Interfaces können im Code Generator konfiguriert werden (Port Adressen, Interrupts)

Der Code für Bildschirminhalte wird von dem externen GUI Builder bereitgestellt

Für die Interfaces von GUI und Back-End SW werden die Funktionsaufrufe und Callbacks im Code Generator konfiguriert

04/21/23 System Design Toolkit 29

Umfang des generierten Codes

Eingabeelemente(Tasten, Drehgeber, Potentiometer)

Hardware-Anzeigeelemente(LEDs, Ziffernanzeigen)

Software-Anzeigeelemente

(Bildschirm-inhalte)

Front-End Software(Steuerung der Bedienabläufe)

Back-End Software(Meßwertverarbei-tung, Aktuatoran-steuerung, Algorithmen)

IFHW

IFHW

IFSW

IFSW

Umfang des Codes, der für Umfang des Codes, der für Java Applets generiert wirdJava Applets generiert wird

Backend wird teilweise simu-liert (z.B Echt-zeitdaten)

04/21/23 System Design Toolkit 30

Zusammenfassung

Entwurfswerkzeug

• Modellbasierte Vorgehensweise, aufbauend auf bewährte Techniken

• HiFi Prototyping, über Java Applets auch web-basiert fördert partizipative Entwicklung

• Vollständige Codegenerierung verbessert Qualität, verkürzt Entwicklungszeiten und reduziert Kosten

04/21/23 System Design Toolkit 31

Ringreiterweg 2023558 Lübeck 

Stefan SachsDr. Ing.Beratender Ingenieur

Tel. +49 (451) 8993444Fax +49 (451) 8993445E-Mail: ssachs@acm.org

 

Weitere Informationen:

www.ssachs.de

Recommended