Konzepte Visueller Programmierungssysteme



Ähnliche Dokumente
Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

IT-Basics 2. DI Gerhard Fließ

Objektorientierte Programmierung OOP

Lehrpläne NRW Sek.stufe 2. Lernen im Kontext

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) stoyan@informatik.uni-erlangen.

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

1 Mathematische Grundlagen

Lehrer: Einschreibemethoden

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

Anleitung über den Umgang mit Schildern

Grundbegriffe der Informatik

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

SEQUENZDIAGRAMM. Christoph Süsens

Software-Engineering SS03. Zustandsautomat

Kapitel 6: Graphalgorithmen Gliederung

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Installationsanleitung Sander und Doll Mobilaufmaß. Stand

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Petri-Netze / Eine Einführung (Teil 2)

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Was ist Logische Programmierung?

Zwischenablage (Bilder, Texte,...)

VBA-Programmierung: Zusammenfassung

Datenidentifikation und -synchronisation: Grundlage zur Erfüllung der Qualitätsanforderungen beim Datenaustausch zwischen Systemen

JetSym. Programmierung in Hochsprache ST nach IEC We automate your success.

Installationsanleitung für das KKL bzw. AGV4000 Interface

Nutzung von GiS BasePac 8 im Netzwerk

Rhetorik und Argumentationstheorie.

(C)opyright 2009 by Jochen Vajda

1 topologisches Sortieren

Tutorial about how to use USBView.exe and Connection Optimization for VNWA.

THREAD ARCS: An Thread Visualization

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel

FAQs zum Bachelorstudiengang Software Engineering PO-Version Allgemeine Informationen zum Bachelorstudiengang Software Engineering

TISIS - Industrie 4.0. Ereignis, Ort, Datum

Funktionaler Zusammenhang. Lehrplan Realschule

teamsync Kurzanleitung

Prof. Dr.-Ing. Rainer Schmidt 1

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Kurzanleitung für Verkäufer

wegen unentschuldigter Fehltage in der Berufsschule oder fehlender Bereitschaft zur Eingliederung in die betriebliche Ordnung

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Grundlagen der Theoretischen Informatik, SoSe 2008

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Vor Ausspruch einer Kündigung wegen vertragswidrigen Verhaltens (sog. verhaltensbedingte Kündigung)

Integration verteilter Datenquellen in GIS-Datenbanken

Software- und Druckerzuweisung Selbstlernmaterialien

Einführung in. Logische Schaltungen

4 Aufzählungen und Listen erstellen

Kontrollstrukturen - Universität Köln

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

Achim Rosch, Institut für Theoretische Physik, Köln. Belegt das Gutachten wesentliche fachliche Fehler im KPK?

Konzepte der Informatik

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Korrelation (II) Korrelation und Kausalität

Robot Karol für Delphi

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Kontrollstrukturen, Strukturierte Programmierung

Installationsanleitung Maschinenkonfiguration und PPs

1 Belastung. 1.1 Standortbestimmung 1.2 Belastungsvorhersage 1.3 Favoriten

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Rundung und Casting von Zahlen

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze

Semantic Web Technologies I! Lehrveranstaltung im WS10/11! Dr. Andreas Harth! Dr. Sebastian Rudolph!

2. Psychologische Fragen. Nicht genannt.

Vorlesung Betriebstechnik/Netzplantechnik Operations Research

Datenaustausch mit dem ClassPad II. CASIO Educational Projects

Probleme beim Arbeiten mit Variablen, Termen und Gleichungen

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Haben Sie über elektronisches Schließfachmanagement nachgedacht? Ein Schließfach ist ohne ein solides Schloss nicht komplett.

Umfrage. Didaktischer Kommentar. Lernplattform

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

GOBio. Kontrolle mit Fingerabdrücken. 868 MHz Handsender mit biometrischer Aktivierung

Erfahrungen mit Hartz IV- Empfängern

Abwesenheitsnotiz im Exchange Server 2010

Rahmenbedingungen und Integrationsvoraussetzungen

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Visuelle DSLs Trends in der Softwaretechnik: Domänenspezifische Sprachen (Seminar WS 2010/11) Thorsten Arendt

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

Informatik (G9) Sek I - Differenzierung 8/9/10

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Orientierungshilfen für SAP PI (Visualisierungen)

Design by Contract with JML

Informatik (G8) Sek I - Differenzierung 8/9

Seminar aus dem Bereich E-Learning

WinVetpro im Betriebsmodus Laptop

R ist freie Software und kann von der Website.

Audiospektrum- Analyse mit Mikrocontrollern

Transkript:

Projekteminar Visuelle Programmierung Vortrag: Konzepte Visueller Programmierungssysteme 20.11.2002 Sebastian Huß

Gliederung Begriffsklärungen Abgrenzung Konzepte....Steuerflußorientierter VP-Systeme..Funktionsorientierter VP-Systeme..Objektorientierter VP-Systeme..Constraintorientierter VP-Systeme..Regelorientierter VP-Systeme..Beispielorientierter VP-Systeme..Formularorientierter VP-Systeme..Multiparadigmenorientierter VP-Systeme

Gliederung II Konzepte Datenflußorientierter VP-Systeme Darstellung Ausführung Implizite Ausführungsreihenfolge und Parallelität Nebeneffektfreiheit Variablenfreiheit Behandlung strukturierter Daten Ablaufstrukturen

Begriffsklärungen Visuell: (Objekteigenschaft) mindestens eine Information des Objektes ist nur durch den visuellen Wahrnehmungsapparat des Menschen zu gewinnen visuelle Programmiersprache: formale Sprache mit visueller Syntax oder Semantik, die vollständig die Eigenschaften von Software beschreibt Universal- oder Spezialprogrammiersprache visuelle Programmierungssysteme (VP-Systeme): Menge integrierter Werkzeuge zur Erstelung von Software mittels visueller Programmiersprachen (und visueller Softwarebeschreibungssprachen)

Abgrenzung Verbale Programmiersprachen: Lineare Anordnung der Elemente ist ausreichend, visuelle Elemente sind Syntaktisch und Semantisch bedeutungslos VP-Systeme sind nicht: Programmierumgebungen mit grafischer Benutzungsoberfläche fuer verbale Programmiersprachen Anwendung grafischer Entwurfsmethoden ohne maschinelle Generierung von Software(-teilen) Entwicklung von Software für grafische Datenverarbeitung Grafisches Editieren der Dokumentation...

Konzepte Steuerflußorientierter VP-Systeme Generell: Anwendung des imperativen Programmierparadigmas -Anweisungssequenzen: lineare Operationsfolge mit Ablaufstrukturen, teilweise mit Konstrukten für Parallelität meist Ablaufpläne/Blockdiagramme Bsp:Flußdiagramme (FPL,Pict), Nassi-Shneiderman-Diagramme geringe Bedeutung, da keine neuen Konzepte zu verbalen Prog.Sp. -Komponentennetze: Objekte sind mittels Kanäle lose verkoppelt, Tokens auf den Kanälen aktivieren die Objekte Hohes Abstraktionsniveau, sehr flexibel Bsp: Vista

Konzepte Steuerflußorientierter VP-Systeme II -Transitionsnetze: Automaten und Petrinetze -> reaktive Systeme exakte Spezifikation von Systemeigenschaften beweisbare Aussagen über das Systemverhalten besonders geeignet für die Definition das Ablaufs/Zusammenwirkens von Prozessen

Konzepte Funktionsorientierter VP-Systeme Gleicher theoretischer Unterbau wie Datenflußorientierte VP- Systeme, um klassische funktionale Konzepte erweitert -Funktionen als Argumente -Polymorphe Funktionen -Implizite Typsysteme Aber: wenig verbreitet, da die Funktionale Programmierung als mathematische Formulierung entstand und somit textuelle Notation vorteilhafter ist Visuelle Darstellung: Funktionsdiagramm Bsp: VisaVis

Konzepte Objektorientierter VP-Systeme Aufteilung der Software-Erstellung auf zwei Ebenen: - Erstellung von Programmbausteinen mittels verbaler Programmiersprachen und Klassenbibliotheken - Erstellung von Applikationen durch visuelle Verbindung von Bausteinen zu komplexen Einheiten Kommunikation der Bausteine mittels Attribute, Ereignisse, Nachrichten enge Verbindung von Problem und Lösung legt eine visuelle Repräsentation mit den Möglichkeiten direkter Manipulation nahe Nachteile: -Tendenz zur Unübersichtlichkeit - keine Methoden der Vererbung - Probleme mit Objekterzeugung und Polymorphismus Bsp: PARTS, VisualAge

Konzepte Constraintorientierter VP-Systeme -Keine Algorithmischen Programmkonstrukte (wie Zuweisungen, Prozeduren) -Angabe zu geltender Beziehungen (Constraints) zwischen Objekten -> Constraint-Satisfier sorgt für ihre Beibehaltung -Constraints sind ungerichtet -Denkmodelle der logischen bzw. Deklarativen Programmierung Probleme: -Über-/Unterspezifikation (zuviele/zuwenige Constraints) führt zu keinen/zuvielen Lösungen -Wechselwirkungen zwischen Constraints -Laufzeit -starke Begrenzung der möglichen Anwendung

Konzepte Regelorientierter VP-Systeme Programme als Folge von Bildtransformationen: -Menge von Transformationsregeln -Versuch, ein Muster (linke Seite einer Transformationsregel) in einer Eingabegrafik zu finden (um es dann zu transformieren) -ständige Wiederholung dieses Vorgangs (es läuft sozusagen ein Film ab) bis keine transformierbaren Muster mehr gefunden werden Probleme: -Konfliktbehandlung (Lösungsansatz: Regelwahrscheinlichkeiten) -kombinatorische Explosion der Regelanzahl bei komplexeren Aufgabenstellungen Verwendung: -Simulationen in Biologie, Chemie und Elektronik, LEGOsheets Bsp: PROGRES

Konzepte Beispielorientierter VP-Systeme Idee: Benutzer führt vor, System beobachtet, zieht Schlussfolgerungen, generiert Programm zur wiederholten Ausführung Programmieren mit Beispielen: -direkte Übersetzung ohne Absichtserkenntnis -z.b. Makrorekorder Programmierung durch Beispiele: -Demonstration typischer Szenarien -> das generierte Programm soll aus gegebenen Daten das gewünschte Resultat erzielen, auch für ähnliche Situationen -Problem: Beschränkung der Interaktion des Benutzers auf die visuelle Ebene erschwert den Vorgang, Diskrepanz zsichen Nutzeraktion und Systemcode

Konzepte Formularorientierter VP-Systeme -aus Konzepten der Tabellenkalkulation entstanden -> es fehlen sequentielle Abläufe, Datenabstraktion, algorithmische Konstrukte -deklarative Programmierung -für DB-Systeme bewährt Bsp: QBE (query by example)

Konzepte Multiparadigmenorientierter VP-Systeme -Zusammenfassung mehrerer Programmierparadigmen -nahtlose Integration dieser Konzepte Bsp: -Prograph (OOP+DFD) -Visual ToolSet (Steuerfluß, DF, Bsp.,Form.) -Vista (Steuerfluss, DF, OOP) Nachteile: -Tendenz zu konzeptioneller Überladung -Komplexität -Problem: Stärke der einzelnen Paradigmen vs. Gesamtqualität

Konzepte Datenflußorientierter VP-Systeme Datenflußmodell: -Verfügbarkeit von daten bestimmt die Ausführungsreihenfolge von Operationen (kein Befehlszähler wie bei Steuerflußorientierung) -gleicher theoretischer Unterbau wie funktionsorientierte VP-Systeme -spezielle Beschreibung und Ausführungsmechanismen für funktionale Programme - in der visuellen Programmierung weit verbeitet, auch kommerziell erfolgreich -Verzicht auf schwierige Konzepte wie Variablen/dynamische Datenstrukturen -keine Querbeziehungen -> leichtes Top-Down-Modellieren -Parallelität Visualisierung der Programmausführung

Darstellung Als gerichteter Graph mit Datenquellen, Datensenken, Operationen, durch Kanäle verbunden Regeln: -ein Kanal pro Eingang, pro Ausgang auch mehrere -eine Qperation hat min. 1 Eingang -Operationen ohne Ausgang haben Nebenffekte oder sind wirkungslos

Ausführung Wird durch den Fluß der Daten durch das System bestimmt Daten sind aktive Elemente, bestimmen welche Operationen wann ausgeführt werden Eine Operation wird aktiviert, sobald alle Eingänge belegt sind, sie schaltet, und lifert genau einen Datenwert pro Ausgang (-> alle Daten werden verarbeitet, auch ohne Synchronisation)

Implizite Ausführungsreihenfolge Sequenz der Operationsausführung nur implizit durch den Datenfluss gegeben Problem: bestimmte Reihenfolge kann unabdingbar sein Lösung: künstliche Datenkanäle oder extra Sequenz-Anweisungen

Nebeneffektfreiheit Bewirkt starke Einschräkung der Möglichkeiten: keine Zustandvariablen etc. -> teilweise Aufgabe dieses Prinzips mit Einschleppung entsprechender Nachteile

Variablenfreiheit Variablen sind konzeptionell unnötig: Daten sind auf den Kanälen gespeichert Vorteile durch Wegfall von Fehlermöglichkeiten -wird trotzdem in VP-Systemen ermöglicht

Strukturierte Daten -werden in der regel kopiert vor Veränderungen wegen Nebeneffektfreiheit Problem: Laufzeit, Speicher, Systemressourcen

Ablaufstrukturen Verzweigungen, Fallunterscheidungen, Schleifen -schwer zu realisieren aber notwendig -> führen zu schwer verständlichen Diagrammen ->besondere Strukturierungsmechanismen in den einzelnen VP- Systemen, besonders gut in LabVIEW