Formale Methoden im Software Engineering
|
|
- Gregor Graf
- vor 8 Jahren
- Abrufe
Transkript
1 Formale Methoden im Software Engineering Eine praktische Einführung Dominik Haneberg, Florian Nafz, Bogdan Tofan 1
2 Organisatorisches Vorlesung: Mittwoch 12:15 Uhr - 13:45 Uhr (1058 N) Versuche: (Raum 3017 N, 2 Termine wählen) Freitag: 08:15-09:45 Uhr Freitag: 10:00-11:30 Uhr Freitag: 12:15-13:45 Uhr Freitag: 14:00-15:30 Uhr 2
3 Anmeldung Maximal 40 Teilnehmer in Zweiergruppen In Zweiergruppen in die Liste eintragen: Ergibt Gruppennummer Dann ganz rechts aus den 4 möglichen Terminen so viele wie möglich auswählen (nicht bloß 2!) Wir verteilen die Gruppen auf mögliche Termine (je 2 pro Gruppe) Bei zu vielen Teilnehmern: Los. Vorausgesetzt: Kenntnisse aus Logik-Vorlesung Logik bestanden bevorzugt Spätestens morgen auf Webseite: Welche Gruppen an welchen Terminen 3
4 Prüfung Anwesenheitspflicht in den Übungen! Vorbereitung der Aufgaben anhand der Doku! Abgabe der gelösten Aufgaben im SVN. 2 Mündliche Abnahmen im Semester in Zweiergruppen: 1. Abnahme nach ca. 6 Wochen (zu: Prädikatenlogik und Algebraische Spezifikationen) 2. Abnahme am Ende (Programmbeweisen und TL) Mit: Testaufgaben (KIV) & Fragen zur Vorlesung 4
5 Leistungspunkte und Sprechstunden Leistungspunkte 2 V + 4 Ü = 8 Creditpoints. Alte PO: Für den Bereich Softwaretechnik oder für den Bereich Theoretische Informatik Neue PO: Nur für den Bereich Softwaretechnik Sprechstunden Dominik Haneberg: Raum 3015 N, Tel Florian Nafz: Raum 3013 N, Tel Bogdan Tofan: Raum 3043 N, Tel
6 Formale Methoden: Ziel und Vorgehen Ziel: Beweisbar korrekte Software Vorgehen 1. Formale Spezifikation der Anforderungen 2. Validierung/Nachweis von Sicherheitseigenschaften 3. Programmierung 4. Beweis, dass Programm die Spezifikation erfüllt Notwendig Definition formaler Modelle und Aussagen Logik 6
7 Verschiedene Logiken Aussagenlogik Prädikatenlogik (erster Stufe) Logiken höherer Stufe Hoare-Logik (imperative Programme) Dynamische Logik (imperative Programme) LCF (funktionale Programme) Temporallogik (parallele Programme) (Modallogik) (Nichtmonotone Logik) 7
8 Warum Beweise über Programme? Fehler in Software sind eine nicht enden wollende Geschichte: Oft nur ärgerlich, manchmal sehr teuer oder sogar lebensgefährlich! Softwarefehler in deutschen EC-Karten Anfang 2010 Verlust aller Kontaktdaten der Sidekick- Nutzer von T-Mobile USA (Okt. 2009) Gepäckverteilung Flughafen Denver (1994) und Terminal 5 London Heathrow (2008) Ausfall des A340-Autopiloten Strahlentherapiesystem Therac-25 Ariane 5 Explosion beim ersten Start Mars Climate Orbiter und Mars Polar Lander... 8
9 Warum formale Beweise mit KIV? These: Eine detaillierte Analyse des Programms von Hand genügt, um seine Korrektheit nachzuweisen! Problem 9
10 Warum formale Beweise mit KIV? These: Eine detaillierte Analyse des Programms von Hand genügt, um seine Korrektheit nachzuweisen! Problem Beweise über Software sind häufig sehr langwierig (viele Details) und daher noch fehleranfälliger als die Programme selbst. Systemunterstützung mit KIV (andere Systeme: ACL2, Isabelle, PVS,... ) Durch die Systemunterstützung wird die Korrektheit der Beweise (durch korrekte Anwendung der Kalkülregeln) sichergestellt 9
11 Lernziele Erlernen des Umgangs mit KIV Strukturierte Spezifikation mit KIV Formales Beweisen mit KIV Umsetzen von Beweisen in einem Kalkül Automatisierung durch Simplifikation und Heuristiken Beweise für Datenstrukturen und Programme Verschiedene Verfeinerungskonzepte um von abstrakten Spezifikationen zu konkreten Programmen zu kommen Verifikationstechnik für nebenläufige Systeme 10
12 Praktische Anwendung Einsatz von KIV durch KIV-Experten in sicherheitskritischen Anwendungen Einsatz von automatischen (spezialisierten) Tools: Model Checking (HW-Design, eingebettete Systeme) Bounded Model Checking, SAT checking (z. B. Security-Protokolle) Datenflussanalyse (z. B. MS Kernel Treiber im SLAM-Projekt) Predicative Abstraction und Typechecking (z. B. Nullpointer-Exceptions, SPEC#) Entscheidungsprozeduren für Arithmetik (z.b. für Zeitconstraints bei Echtzeitsystemen)... Systematisches Testen mit aus Spezifikationen generierten Testfällen Konstruktion von endlichen Gegenbeispielen (z. B. Alloy, MACE) 11
13 Überblick 1. Aussagen- und Prädikatenlogik (2 Wochen) 2. Beweise über Datenstrukturen (Listen, Heaps) (3 Wochen) 3. Algebraische Spezifikationen (1 Woche) 4. Programmbeweise (Hoare, while-schleifen) (2 Wochen) 5. Data Refinement (2 Wochen) 6. Temporallogik & Parallele Programme (2 Wochen) 12
14 Prädikatenlogik mit Sorten und der Sequenzenkalkül 13
15 Prädikatenlogik mit Sorten In Logik für Inf.: n-stellige Funktionssymbole f F n Semantik: n-stellige Funktion über Grundbereich D Hier: Gegeben ist eine endliche Menge S von Sorten. Semantik: Jede Sorte bezeichnet einen Grundbereich Funktionen jetzt: f F s s oder einfacher: f : s s wobei s = s 1,...,s n mit n 0 (n = 0: Konstante c : s) Vorteile: Theorie: Praxis: 14
16 Prädikatenlogik mit Sorten In Logik für Inf.: n-stellige Funktionssymbole f F n Semantik: n-stellige Funktion über Grundbereich D Hier: Gegeben ist eine endliche Menge S von Sorten. Semantik: Jede Sorte bezeichnet einen Grundbereich Funktionen jetzt: f F s s oder einfacher: f : s s wobei s = s 1,...,s n mit n 0 (n = 0: Konstante c : s) Vorteile: Pro Datentyp eine Sorte, damit Typcheck wie in Prog.-sprachen Später: Leichte Erweiterbarkeit zu Higher-Order-Logik Theorie: Sorten können in Prädikate codiert werden Praxis: Ohne Sorten zusätzliche Axiome und Deduktion notwendig! (Z. B. nat(x) nat(y) nat(x + y)) Es gibt immer eine vordefinierte Sorte bool. 14
17 Die Sorte bool: Formeln sind auch Terme! Mit einer vordefinierten Sorte bool wird es möglich, Formeln und Terme der Sorte bool zu identifizieren Logische Operatoren sind jetzt vordefinierte boolesche Funktionen:..,..,..,.. : bool bool bool. : bool bool true,false : bool Formeln ϕ, ψ und Terme t heissen jetzt Ausdrücke e Prädikate sind einfach Funktionen mit Zielsorte bool Funktionen und Prädikate heissen jetzt Operationen OP 15
18 Signaturen und Variablen Eine Signatur Σ = (S,OP) ist ein Paar mit: Endlicher Menge S von Sorten, mit bool S Endlicher Familie OP = s S,s S OP s s von Operationssymbolen mit Argumentsorten s und Ergebnissorte s (leere Liste von Argumentsorten: Konstante c) OP enthält immer die üblichen booleschen Operationen Wie üblich: Konstanten sind null-stellige Operationen Boolesche Konstanten = atomare Aussagen Eine Variablenmenge X besteht aus einer abzählbar unendlichen Menge von Variablen X s für jede Sorte s S 16
19 Syntax von Ausdrücken Ausdrücke e EXPR s (Σ,X) der Sorte s S über der Signatur Σ und über den Variablen X sind rekursiv definiert durch x aus X s ist ein Ausdruck der Sorte s Sind e 1,...,e n Ausdrücke der Sorten s 1,...,s n und op : s 1,...,s n s, dann ist op(e 1,...,e n ) ein Ausdruck der Sorte s Bem.: Schreibe c statt c() für Konstanten (n = 0) Sind e 1,e 2 Ausdrücke der Sorte s, so ist e 1 = e 2 eine Formel (i. e. ein Ausdruck der Sorte bool) Ist ϕ eine Formel und x eine Variable, so sind x.ϕ und x.ϕ Formeln EXPR(Σ,X) := s S EXPR s (Σ,X),For(Σ,X) := EXPR bool (Σ,X) Terme t T(Σ,X) sind Ausdrücke ohne Quantoren und Gleichheit. 17
20 KIV-Syntax für Signaturen sorts nat; list; constants 0 : nat; ϕ : bool; (: 0-stelliges Prädikat als boolesche Konstante :) functions f : nat nat nat; g : nat, nat -> nat; (: es geht auch ASCII :) predicates isprime : nat;. <. : nat nat; variables x,y : nat; u : list; Sorten, Funktionen, Prädikate, Variablen immer in dieser Reihenfolge Aufzählungen mit derselben Sorte nur bei Variablen 18
21 KIV: Infix-Schreibweise und Bindungsstärken Signatur:.. : s 1 s 2 s, s 1,s 2,s S Üblich: besteht aus Sonderzeichen, z. B. +,, <, /,,, Term (t 1 t 2 ) Infix-Funktionssymbole in KIV können priorisiert werden ( bindet stärker als +) Es gibt auch Postfix (z. B. für Fakultät.! ) und Präfix (für Anzahl der Elemente: # = 0) Bindungsstärken {postfix} > {präfix} > {infix} > { } > { } > { } > { } > { } > {, } Außenklammern werden weggelassen, Aufzählungen mit, ungeklammert. 19
22 Sequenzenkalkül Erfunden von Gerhard Gentzen (1934) Nur einer von vielen möglichen Kalkülen: Hilbertkalkül, natürliches Schliessen, Tableaukalkül, Modellelimination Charakteristik: Versucht, Beweisziel auf Axiome zu reduzieren (schrittweise Vereinfachung des Problems); am menschlichen Beweisen orientiert ϕ 1,...,ϕ n ψ 1,...,ψ m Sequenz ϕ 1,...,ϕ n Antezedent (n 0) ψ 1,...,ψ m Sukzedent (m 0) Beachte: ist Sequenzenpfeil, PL ist Ableitbarkeit 20
23 Sequenzenkalkül Notation Γ,Γ 1,,... Listen von Formeln, Γ = ϕ 1,...,ϕ n, = ψ 1,...,ψ m Γ := ϕ 1,...,ϕ n ψ 1,...,ψ m Γ,ϕ ψ := ϕ 1,...,ϕ n,ϕ ψ Γ,ϕ ψ, := ϕ 1,...,ϕ n,ϕ ψ,ψ 1,...,ψ m [ϕ1,...,ϕ n ] := ϕ 1... ϕ n [] := true [ψ1,...,ψ m ] := ψ 1... ψ m [] := false Bedeutung einer Sequenz: Γ = Γ 21
24 Sequenzenkalkül: Inferenzregeln Regel: (n 0) Γ 1 1 Γ Γ n n Γ Regeln werden von unten nach oben gelesen: Um Γ (die Konklusion) zu beweisen, beweise stattdessen einfachere Prämissen Γ 1 1,...,Γ n n Bei n = 0 ist die Konklusion direkt bewiesen n = 1: Vereinfachung n = 2: Fallunterscheidung 22
25 Beispiel Ein erster Beweis. 23
26 Sequenzenkalkül: Ableitbarkeit Γ ist aus einer Menge von Formeln (Axiomen) Ax ableitbar (kurz: Ax PL Γ ) : Es gibt eine Ableitung (Baum) mit Wurzel: Γ (Konklusion) Blätter: ϕ mit ϕ Ax (Prämissen) Innere Knoten durch Regelanwendungen gebildet 24
27 Kalkül für Aussagenlogik ϕ,γ ϕ, (axiom) false,γ (false left) Γ true, Γ Γ (weakening, Γ Γ, ) Γ ϕ, Γ ϕ,γ Γ ϕ, ϕ,γ (negation left) ψ,γ Γ ψ, ϕ,ψ,γ ϕ ψ,γ ϕ,γ Γ ϕ, ϕ ψ,γ ψ,γ ψ,γ ϕ ψ,γ Γ ϕ,ψ, ϕ,ψ,γ ϕ ψ,γ (conjunction left/right) (disjunction left/right) (implication left/right) (equivalence left/right) 25 Γ ϕ, ϕ,γ ψ, (true right) (cut formula) (negation right) Γ ϕ ψ, Γ ψ, Γ ϕ,ψ, Γ ϕ ψ, ϕ,γ ψ, Γ ϕ ψ, ψ,γ ϕ, Γ ϕ ψ,
28 Regeln für Quantoren und Gleichungen ϕτ x, x.ϕ,γ x.ϕ,γ (all left) Γ ϕ τ x, x.ϕ, Γ x.ϕ, (exists right) ϕ y x,γ x.ϕ,γ (exists left) Γ ϕ y x, Γ x.ϕ, (all right) ϕ τ x die Substitution von x durch einen beliebigen Term τ in ϕ. y ist eine neue Variable, i. e. eine die nicht frei in Q x.ϕ,γ, (Q {, }) vorkommt. Genauer: y (free(ϕ)\{x}) free(γ) free( ) Γ τ = τ, (reflexivity right) 26 x = τ,γ τ x τ x x = τ,γ (insert equation)
29 Variablen und freie Variablen eines Ausdrucks Die Variablen eines Ausdrucks (Var(e)) Var(x) = {x} x X Var(op(e 1,...,e n )) = n i=1 Var(e i ) Var(e = e ) = Var(e) Var(e ) Var(Qx.ϕ) = {x} Var(ϕ) Q {, } Die freien Variablen einer Formel (free(ϕ)) sind genauso definiert ausser: free(qx.ϕ) = free(ϕ) \ {x} Q {, } 27
30 Substitution Die Substitution einer Variablen x durch einen Ausdruck t in e (e t x) x t x = t yx t = y falls x y op(e 1,...,e n ) t x = op((e 1 ) t x,...,(e n ) t x) (e 1 = e 2 ) t x = ((e 1 ) t x = (e 2 ) t x) Qy.ϕ falls y = x x free(ϕ) (Qy.ϕ) t Qy.ϕ t x falls y x,y free(t),x free(ϕ) x = Qz.(ϕ z y) t x falls y x,y free(t),x free(ϕ) (z neu, d. h. z Var(ϕ) Var(t)) (Q {, }) 28
31 KIV: Organisation in Projekte Grundlegende Organisation: In KIV arbeitet man in (SW-Entwicklungs-) Projekten Jedes Projekt definiert Spezifikationen (Σ + Ax + Weiteres) Spezifikationen können aufeinander aufbauen Entwicklungsgraph Über jeder Spezifikation kann man Theoreme formulieren und beweisen 29
32 KIV: Projektauswahl- und Projektebene 4 Ebenen: 1. Projektauswahlebene Projekte anlegen, löschen, auf einem Projekt arbeiten 2. Projektebene Zeigt den Entwicklungsgraph der Spezifikationen Spezifikationen anlegen, ändern, löschen Auf einer Spezifikation arbeiten 30
33 KIV: Spezifikations- und Beweisebene 3. Spezifikationsebene Theoreme anlegen, ändern, löschen Ein Theorem zum Beweisen wählen 4. Beweisebene Beweise führen durch interaktive Anwendung von Regeln Zwei Regelsätze: Basisregeln/für s Beweisen optimierte Regeln Backtracking, Pruning Simplifikation + Heuristiken zur automatischen Anwendung von Regeln 31
34 KIV: Verzeichnisstruktur Verzeichnisstruktur: Ein Projektverzeichnis <projektname> Darin: Ein Unterverzeichnis specs [Eine Datei devgraph für den Entwicklungsgraph] In specs: ein Unterverzeichnis <specname> für jede Spezifikation Darin: Eine Datei specification für Signatur, Axiome etc. Eine Datei sequents für Theoreme [Ein Verzeichnis proofs das geladene Theoreme, geführte Beweise etc. speichert] 32
Semantik von Formeln und Sequenzen
Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt
MehrFormale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30
Formale Methoden II SS 2008 Universität Bielefeld Teil 8, 11. Juni 2008 Gerhard Jäger Formale Methoden II p.1/30 Beispiele Anmerkung: wenn der Wahrheitswert einer Formel in einem Modell nicht von der Belegungsfunktion
Mehr2. Vorlesung. Slide 40
2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b
MehrMai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln
Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese
MehrBinäre Suchbäume (binary search trees, kurz: bst)
Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.
MehrTheorie der Informatik
Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax
MehrBinäre Bäume Darstellung und Traversierung
Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.
MehrLernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.
6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente
MehrZusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen
Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10
MehrZusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1
Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrProlog basiert auf Prädikatenlogik
Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.
MehrTheorem Proving. Software Engineering in der Praxis. Prädikatenlogik. Software Engineering in der Praxis Wintersemester 2006/2007
Seite 1 Theorem Proving Prädikatenlogik Seite 2 Gliederung Warum Theorembeweisen? Wie funktioniert Theorembeweisen? Wie kann mir das Werkzeug KIV dabei helfen? Seite 3 Warum Theorembeweisen? Wie kann man
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrFolge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12
Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben
Mehr2.11 Kontextfreie Grammatiken und Parsebäume
2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle
MehrFormale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:
MehrLogische Folgerung. Definition 2.11
Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell
Mehr4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:
4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie
MehrGrammatiken. Einführung
Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrGrundlagen der Informationverarbeitung
Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,
MehrFormeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur
Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die
MehrSemantik von Formeln und Sequenzen
Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrErfüllbarkeit und Allgemeingültigkeit
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrWir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.
2 Ein wenig projektive Geometrie 2.1 Fernpunkte 2.1.1 Projektive Einführung von Fernpunkten Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden
MehrIT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
MehrGrundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge
Lehrstuhl für Softwaretechnik und Programmiersprachen Professor Dr. Michael Leuschel Grundlagen der Theoretischen Informatik - Sommersemester 2012 Übungsblatt 1: Lösungsvorschläge Disclaimer: Bei Folgendem
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrÜbungen zur Softwaretechnik
Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se
Mehr9. Übung Formale Grundlagen der Informatik
Institut für Informatik Sommersemester 2001 Universität Zürich 9. Übung Formale Grundlagen der Informatik Norbert E. Fuchs (fuchs@ifi.unizh.ch) Reinhard Riedl (riedl@ifi.unizh.ch) Nadine Korolnik (korolnik@ifi.unizh.ch)
Mehr4 Aufzählungen und Listen erstellen
4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer
MehrEinfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at
Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Interpreter für funktionale Sprache
MehrEinführung in. Logische Schaltungen
Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von
MehrBinärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T:
Binäre Bäume Binärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T: BinTree [T: TYPE]: DATATYPE empty: empty? node (key: T, left:bibtree, right:bibtree):
MehrLogische Programmierung
Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrFormale Sprachen und Grammatiken
Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax
MehrDie Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrUniversität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)
Universität Paderborn Die Universität der Informationsgesellschaft Analyse, Entwurf und Implementierung zuverlässiger Software und (inkl., Model-Checking, Theorem Proving) Torsten Bresser torbre@uni-paderborn.de
MehrBeweisbar sichere Verschlüsselung
Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6
MehrProgram = Logic + Control
Program = Logic + Control Prozedurale/imperative Sprachen: Abläufe formulieren Computer führt aus von-neumann-maschine Idee von deklarativen/logischen/funktionalen Programmiersprachen: Zusammenhänge formulieren
MehrPraktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben
Technische Universität Kaiserslautern Prof Dr Sven O Krumke Dr Sabine Büttner MSc Marco Natale Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben Aufgabe 1 (Konvertieren
MehrQTrade GmbH Landshuter Allee 8-10 80637 München 089 381536860 info@qtrade.de Seite 1
QCentral - Ihre Tradingzentrale für den MetaTrader 5 (Wert 699 EUR) QTrade GmbH Landshuter Allee 8-10 80637 München 089 381536860 info@qtrade.de Seite 1 Installation A Haben Sie auf Ihrem PC nur einen
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrModulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia
Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia Kenntnisse im Programmieren für das World Wide Web mit der Programmiersprache JAVA werden vermittelt, ebenso das Erstellen von
MehrLogik für Informatiker
Vorlesung Logik für Informatiker 3. Aussagenlogik Einführung: Logisches Schließen im Allgemeinen Bernhard Beckert Universität Koblenz-Landau Sommersemester 2006 Logik für Informatiker, SS 06 p.1 Beispiel:
MehrPrädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung;
Mehr Prolog Prolog bietet mehr an, z.b.: Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung; Mehr extra-logische Prädikate,
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 9: Speicher Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/20 Überblick Speicher Bit und Byte Speicher als Tabellen
MehrVermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.
1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich
MehrPrädikatenlogik - Micromodels of Software
Prädikatenlogik - Micromodels of Software Philipp Koch Seminar Logik für Informatiker Universität Paderborn Revision: 30. Mai 2005 1 Inhaltsverzeichnis 1 Motivation 3 2 Modelle 3 2.1 Definition eines Modells.......................
MehrSatz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich
Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes
Mehrt r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )
Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
MehrÜbungen für Woche 10
Übungen für Woche 10 Martin Rubey 12. Januar 2011 Die folgenden Übungen sollen den Umgang mit Backtracking und kombinatorischen Spezies näherbringen. Genaue Hinweise gibt es erst auf Seite 5. Zur Erinnerung:
MehrErwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
MehrTypisierung des Replikationsplan Wirries, Denis Datenbankspezialist
Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist Feintypisierung - Überblick Ergebnisse Ergebnisse aus aus anderen anderen Arbeitsergebnissen Arbeitsergebnissen Replikationsplan Replikationsplan
Mehr1 Aussagenlogische Formeln
1 Aussagenlogische Formeln Aufgabe 1.1 Transformieren Sie die Formel in disjunktive Normalform (DNF). ((:A! :B) ^ D)! ((A _ C) $ (:B ^ D)) Lösung 1.1 Schrittweise Transformation: Schritt 1: ((:A! :B) ^
MehrData Mining: Einige Grundlagen aus der Stochastik
Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener
MehrGrundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrVgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.
Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,
Mehrteischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep
teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen
MehrSome Software Engineering Principles
David L. Parnas: Some Software Engineering Principles Marco Oppel 30.06.2004 Seminar Software-Architektur Institut für Informatik Humboldt Universität zu Berlin 1 Problemstellung Software Engineering Multi-Personen
MehrWindows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen
Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen Das können wir Ihnen versprechen: An der neuen Taskleiste in Windows 7 werden Sie sehr viel Freude haben. Denn diese sorgt
MehrDokumentation Wettkampf-Tool
des Inhaltsverzeichnis 1. Anleitung:... 3 2. Wettkampfblätter... 7 3. Gesamtwertung... 9 4. Leistungsverlauf... 10 5. Urkunden... 11 6. Scheibennummern... 12 7. Finale... 13 8. Vordruck... 14 9. Wettkampfplan...
MehrRepetitionsaufgaben Wurzelgleichungen
Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen
MehrSie finden im Folgenden drei Anleitungen, wie Sie sich mit dem Server der Schule verbinden können:
FTP-Zugang zum Schulserver Sie finden im Folgenden drei Anleitungen, wie Sie sich mit dem Server der Schule verbinden können: Zugang mit dem Internet Explorer (zum download von Dateien) Zugang mit dem
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrTerme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)
Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden
MehrLSF-Anleitung für Studierende
LSF-Anleitung für Studierende 1. Veranstaltungen Beim Anklicken der Option Veranstaltung finden Sie unter der Navigationsleiste: Vorlesungsverzeichnis Suche nach Veranstaltungen Stundenpläne Stundenpläne
MehrTangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:
Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung
MehrTheoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19
Inhalt 1 inführung 2 Automatentheorie und ormale prachen Grammatiken Reguläre prachen und endliche Automaten Kontextfreie prachen und Kellerautomaten Kontextsensitive und yp 0-prachen 3 Berechenbarkeitstheorie
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrAnleitung zum erfassen von Last Minute Angeboten und Stellenangebote
Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Zweck dieser Anleitung ist es einen kleinen Überblick über die Funktion Last Minute auf Swisshotelportal zu erhalten. Für das erstellen
Mehr9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83
9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x
MehrAnmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)
Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv) Über den Link https://www.edudip.com/academy/dbv erreichen Sie unsere Einstiegsseite: Hier finden Sie die Ankündigung unseres
MehrInformatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben
MehrWhitebox-Tests: Allgemeines
-Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv
MehrEine Logikschaltung zur Addition zweier Zahlen
Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
MehrDie Weitsichtigkeit. Korrekturmöglichkeiten
Die Weitsichtigkeit Korrekturmöglichkeiten Der Aufbau des weitsichtigen Auges Das Auge ist im Verhältnis zum Brechwert zu kurz. Das Licht bündelt sich hinter der Netzhaut. Deshalb müssen Pluslinsen aus
MehrDiana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
Mehra' c' Aufgabe: Spiegelung an den Dreiecksseiten und Anti-Steinersche Punkte Darij Grinberg
ufgabe: Spiegelung an den Dreiecksseiten und nti-steinersche Punkte Darij Grinberg Eine durch den Höhenschnittpunkt H eines Dreiecks B gehende Gerade g werde an den Dreiecksseiten B; und B gespiegelt;
MehrN Bit binäre Zahlen (signed)
N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101
MehrÜberprüfung der digital signierten E-Rechnung
Überprüfung der digital signierten E-Rechnung Aufgrund des BMF-Erlasses vom Juli 2005 (BMF-010219/0183-IV/9/2005) gelten ab 01.01.2006 nur noch jene elektronischen Rechnungen als vorsteuerabzugspflichtig,
MehrInstallation OMNIKEY 3121 USB
Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,
MehrAnwendungsbeispiele Buchhaltung
Rechnungen erstellen mit Webling Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Rechnungen erstellen mit Webling 1.1 Rechnung erstellen und ausdrucken 1.2 Rechnung mit Einzahlungsschein erstellen
Mehr