TU-München LS für Informatik II (Prof. Eickel) Dr. Schreiber 19.06.2001 1 Programmierpraktikum SS-2001 Beyond Java - Automatische Generierung von Benutzungsoberflächen.

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

Ziele von EINI I + II Einführen in „Informatik“
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Grenzen endlicher Automaten
Warum Objektorientierung?
Grundlagen der Informatik
Kapitel 4 Datenstrukturen
Objektorientierte Programmierung Definition von Klassen
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
Seminar Software-Engineering für softwareintensive Systeme
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Java: Dynamische Datentypen
Indirekte Adressierung
Java: Grundlagen der Sprache
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
Union-Find-Strukturen
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Datentyp  Zusammenfassung von Mengen von "Werten" mit auf
Beispiele für Ausdrucksalgebren
Einführung in die Programmierung mit Java
Diskrete Mathematik I Vorlesung Arrays-
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Informatik Grundkurse mit Java
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Systementwicklungsprojekt:
1 Dienstbeschreibung mit DAML Ein graphischer Editor für DAML - Ting Zheng Betreuer: Michael Klein, Philipp Obreiter.
Delphi Eine objektorientierte Programmiersprache © Beushausen 2000.
2.3 Register-Transfer-Strukturen
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Ham EST Das Schwein Schmatz.. Fressen Beginnen wir.... mit einer Geschichte:
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 2 Folie 2 ASP.NET HTTP-Handler (1)
Anfang Präsentation 20. Oktober, 2004 Elektrische Schaltungen I Diese Vorlesung diskutiert die mathematische Modellierung einfacher elektrischer linearer.
UML-Kurzüberblick Peter Brusten.
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Robuste Programme durch Ausnahmebehandlung
Einführung Blue J. Inhaltsverzeichnis  Definition  Vokabeln.
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Zufall in Java Zwei Möglichkeiten.
 Präsentation transkript:

TU-München LS für Informatik II (Prof. Eickel) Dr. Schreiber Programmierpraktikum SS-2001 Beyond Java - Automatische Generierung von Benutzungsoberflächen 1. Besprechung der Übungsaufgaben 2. Einführung in das BOSS-System 3. Einführung in die HIT-Spezifikationstechnik 4. Tupel-HITs und Alternativen-HITs 5. Modellierung von Interaktivität mit HITs

TU-München LS für Informatik II (Prof. Eickel) Dr. Schreiber Einführung in das BOSS-System - Entwickelt von im Rahmen eines Kooperationsprojekts mit Siemens / ZFE - Werkzeug zur Spezifikation von -> Oberflächen in ihrer logischen Struktur -> (Oberflächen in ihrer Layoutstruktur) -> Layoutrichtlinien -> Verwendung einer einheitlichen Spezifikationssprache HIT HIT = Hierarchic Interaction Graph Template -> Integrierte graphische Entwicklungsumgebung (IDE) -> Generierung von effizienten C++ - Code

TU-München LS für Informatik II (Prof. Eickel) Dr. Schreiber Einführung in das BOSS-System Hauptfenster der BOSS-IDE : Deklaration von Sorten, Funktionen, HIT-Bausteinen Dialogdesigner: Spez. Von log. BO (hier ATM) als Menge von HIT-Bausteinen Generierte BO im Layout- stil l Layoutrichtliniendesigner: Spez. Von Layoutrichtlinien für Stil l (unabhängig von konkreter Oberfläche)

TU-München LS für Informatik II (Prof. Eickel) Dr. Schreiber Einführung in die HIT-Spezifikationstechnik - HIT-Spezifikation besteht aus -> Menge von Sorten (Datentyp)-Deklarationen -> Menge von Funktionsdeklarationen -> Menge von HIT-Bausteinen - HIT-Baustein entspricht Klasse in OOP: Schablone, von der Objekte (HIT-Instanzen) angelegt werden können - HIT-Instanz: hat Zustand und reagiert auf Interaktionen mit der Umwelt - Es gibt 2 Arten von HIT-Bausteinen: -> Alternativen-HITs -> Tupel-HITs

TU-München LS für Informatik II (Prof. Eickel) Dr. Schreiber Tupel-HITs und Alternativen-HITs Fac FacGt0 NResN FacEq0 NRes N Argumentslot Resultatslot Alternativen Alternativen- HIT FacEq0 NRes AC : N == 0 r 1 eq_init FacGt0 NRes AC : N > 0 FacNRes r a eq_sub * r aa eq_mult c_Facrec Tupel- HITs Gleichungs- regel Komponente

TU-München LS für Informatik II (Prof. Eickel) Dr. Schreiber Tupel-HITs und Alternativen-HITs FacGt0NRes r a eq_sub * r aa eq_mult c_Facrec FacGt0 NRes r a eq_sub * r aa eq_mult c_Facrec FacEq0 NRes r 1 eq_init I[Fac]_ t0 (t0,2) (t0,1) (t0,0)(t0,1) (t0,2) e1 = ci(t0,I,Fac,2) - Anlegen von HIT-Instanzen durch Instaniierungs- ereignisse zu einem best. Zeitpunkt - Durch Instantiierung geht HIT-Instanz in Anfangszustand über - Zustand einer HIT-Instanz: -> alle Gleichungen durch Wertebelegung erfüllt -> alle Anwendbarkeits- bed. durch Wertebelegung erfüllt -> Zuordnung von Zeit- stempeln

TU-München LS für Informatik II (Prof. Eickel) Dr. Schreiber Modellierung von Interaktivität - Interaktivität wird in Tupel-HITs modelliert u.a. durch -> Eingabeslots (Werteingabe durch Benutzer) -> Ausgabeslots (Ausgabe von Werten an Benutzer) -> Benutzertransaktionsregeln (Regeln, die von Benutzer explizit aufgerufen werden müssen) - Eingabeslots und Benutzertransaktionen werden über Vorbedingungen (Preconditions) aktiviert oder deaktiviert

TU-München LS für Informatik II (Prof. Eickel) Dr. Schreiber Modellierung von Interaktivität Counter L AC : True ar PC: CurrentValue > L tr_Down UI CurrentValue +1 ar tr_Up PC: CurrentValue < U ar Benutzer- Transaktionsregel CurrentValue Ausgabeslot

TU-München LS für Informatik II (Prof. Eickel) Dr. Schreiber Modellierung von Interaktivität Counter L ar PC: CurrentValue > L tr_Down UI CurrentValue +1 ar tr_Up PC: CurrentValue < U I[Counter]_ e1 = ci(t0,I,Counter, 1,3,1) (t0,1)(t0,3)(t0,1) - Instantiierung von Counter zum Zeitpunkt t0 - Slots werden mit Werten und Zeitstempel t0 belegt - Benutzertransaktionsregel tr_Down nicht sensitiv, da Precondition nicht erfüllt

TU-München LS für Informatik II (Prof. Eickel) Dr. Schreiber Modellierung von Interaktivität Counter L ar PC: CurrentValue > L tr_Down UI CurrentValue +1 ar tr_Up PC: CurrentValue < U I[Counter]_ e2 = trigger( t1,I[Counter], tr_Up ) (t0,1)(t0,3)(t0,1) (t1,2) - Zum Zeitpunkt t1 Auslösen der Transaktionsregel tr_Up - Führt zur Neuberechnung von Wert und Zeitstempel von CurrentValue - tr_Up wird sensitiv, da PC erfüllt ist