RTOS lernt Scripting dank Lua. - Raphael Zulliger, Indel AG

Größe: px
Ab Seite anzeigen:

Download "RTOS lernt Scripting dank Lua. - Raphael Zulliger, Indel AG"

Transkript

1 RTOS lernt Scripting dank Lua - Raphael Zulliger, Indel AG Embedded Computing Conference 2012

2 Informationen zur Download-Version der Folien Diese Folien dienen als visuelle Unterstützung des Referenten und sind ohne diesen nur bedingt nützlich. Falls Sie das Referat verpasst haben und trotzdem mehr zum Thema erfahren möchten, dürfen Sie sich gerne (völlig unverbindlich) mit dem Referenten in Verbindung setzen: zulliger - at - indel - ch

3 ? Ihr System Lua-Scripts

4 High-End Steuerungssysteme - seit 38 Jahren. Automobilindustrie. Chemieindustrie. Druckindustrie. Elektronikindustrie. Glasindustrie. Halbleiterindustrie. Holzindustrie. Lebensmittelindustrie. Luftfahrtindustrie. Medizin. Messtechnik. Militär. Optikindustrie. Schwerindustrie / Stahlindustrie. Uhrenindustrie. Verfahrenstechnik.

5 Elektronik. Software. Engineering. 00% Swiss Made Know-how Support

6 Raphael Zulliger - Dipl. El. Ing. FH Software-Entwickler Desktop-Tools Embedded-System Support

7 Problem: C++ Workflow ist ineffizient. Wir wollen Änderungen sofort testen! Code editieren!? Testen Kompilieren, linken Applikation starten do { for (cp = line; *cp &&!isspace (*cp) && (*cp!= '!') && (*cp!= ':') && (*cp!= '('); cp++) { if (*cp == '$') { int length; Boolean freeit; char *result;

8 Problem: C++ ist komplex. Wir wollen eine einfache Sprache! Service-Techniker bei Inbetriebnahme in Mexiko. Ist bei Software-Anpassungen auf Fremdhilfe angewiesen...

9 Lösung: Effizient Maschinen programmieren dank Scripts Code-Änderungen ohne Systemneustart Auch für Service-Techniker Prozess-Techniker Mechaniker

10 Produkt: Effizient Maschinen programmieren mit Indel McRobot Echtzeit Sprache Maschinen- Software Funktions- Bausteine Hart C++ Glue Code Soft Scripts

11 Produktvideo: Essemtec Cobra - SMT Bestückungsautomat Steuerungssystem: Indel Ablaufprogrammierung: Scripts -

12 Lua-Interpreter Parser, Compiler Virtual Machine Libraries Läuft komplett auf Embedded-System!

13 Lua sei Einfach. Portabel. Effizient. - Programmieren mit Lua, open source press

14 Einfach. Portabel. Effizient. Grammatik: Anzahl Wörter chunk ::= block block ::= {stat} [retstat] C++ C 850 stat ::= ; varlist = explist functioncall label break goto Name 2000 do block end while exp do block end repeat block until exp if exp then block {elseif exp then block} [else block] end for Name = exp, exp [, exp] do block end for namelist in explist do block end function funcname funcbody local function Name funcbody local namelist [ = explist] retstat ::= return [explist] [ ; ] label ::= :: Name :: Python funcname ::= Name {. Name} [ : Name] varlist ::= var {, var} var ::= Name prefixexp [ exp ] prefixexp. Name namelist ::= Name {, Name} Lua explist ::= exp {, exp} exp ::= nil false true Number String... functiondef prefixexp tableconstructor exp binop exp unop exp prefixexp ::= var functioncall ( exp ) functioncall ::= prefixexp args prefixexp : Name args Bei den Angaben für C++ und C handelt es sich um ungefähre Werte args ::= ( [explist] ) tableconstructor String functiondef ::= function funcbody funcbody ::= ( [parlist] ) block end parlist ::= namelist [,... ]... tableconstructor ::= { [fieldlist] } fieldlist ::= field {fieldsep field} [fieldsep] field ::= [ exp ] = exp Name = exp exp fieldsep ::=, ; binop ::= + - * / ^ %.. < <= > >= == ~= and or unop ::= - not #

15 Einfach. Portabel. Effizient. Einzige Abhängigkeit: ANSI C

16 Einfach. Portabel. Effizient. Lua. So klein wie ein Bild Parser, Compiler Virtual Machine Libraries Lua-Interpreter: 117 KByte ipad-bild auf Apple-Homepage: 113 KByte

17 Adobe, Logitech und Wikipedia verwenden Lua Finden Sie IHREN Lua-use-case! - Lassen Sie sich von bestehenden Lösungen inspirieren:

18 Von der Idee zur Lösung Getting started! Lua Anpassen Demo: idev

19 Getting started: Lua-Interpreter einbinden - Demo -

20 Lua: Interaktion mit bestehender Software Lua-Script Bestehende Software (C, C++, Java,...) Standard-Methode: Lua C API Alternativ: Bindings von Drittanbietern C, C++, Ada, Basic, Cobol, D, Erlang, Fortran, Haskell, Java,

21 Lua Speicher-Management an Embedded-System anpassen Lua Alloc -Funktion die das Systemspezifische Speicher-Management verwendet: static void *myluaalloc (void *ud, void *ptr, size_t osize, size_t nsize) { (void)ud; (void)osize; /* not used */ if (nsize == 0) { myfree(ptr); return NULL; } else return MyRealloc(ptr, nsize); } Beim Initialisieren des Lua-Interpreters kann der Pointer einer eigenen Allokations-Funktion übergeben werden.

22 Besseres Echtzeit-Verhalten dank manuellem Ausführen des Garbage-Collectors Luas inkrementeller Mark-and-Sweep Garbage-Collector ist Echtzeit-Freundlich.

23 Bisher: Standard-Lua Next: Indel-Lua

24 Indel-Lua: Garantierte Reaktionszeiten der Lua- Threads Multitasking Standard-Lua: Indel-Lua: Kooperativ Präemptiv Indel Lua-Scheduler

25 Indel-Lua: Minimaler Overhead beim Debuggen Breakpoint Standard-Lua: Indel-Lua: Hook-Funktion Breakpoint-Instruktion

26 Effizient Maschinen programmieren Lua hacking mit Indel idev - Demo -

27 for i=1,1000 do Module.Cmd1(Async) Module.Cmd2(Sync) end Lua-Performance: Overhead beim Auslösen von Kommandos im Indel-System <50% Producer-Task (C++ / Lua) Consumer-Task (C++) Cmd1 Roundtrip [us] Cmd2 t C++ Avg: 12 Max: 47 Lua Avg: 17 Max: 72 for( uint32 i=0; i<1000; ++ pmodule->cmd1(easync); pmodule->cmd2(esync); }

28 Danke!

29 Q&A

Der Lua Skripteditor Lua in der Messtechnik

Der Lua Skripteditor Lua in der Messtechnik Der Lua Skripteditor Lua in der Messtechnik 02.08.2014 Ingo Berg berg@atvoigt.de Automatisierungstechnik Voigt GmbH Lua in der Messtechnik Was ist Lua? freie Programmiersprache speziell entwickelt für

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:

Mehr

public class SternchenRechteckGefuellt {

public class SternchenRechteckGefuellt { Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und

Mehr

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Übersetzer: Code-Erzeugung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 Bytecodes Der Java Übersetzer erzeugt keine Maschinensprache

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt 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 - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Lua Grundlagen Einführung in die Lua Programmiersprache

Lua Grundlagen Einführung in die Lua Programmiersprache Lua Grundlagen Einführung in die Lua Programmiersprache 05.05.2014 Ingo Berg berg@atvoigt.de Automatisierungstechnik Voigt GmbH Die Lua Programmiersprache Was ist Lua? freie Programmiersprache speziell

Mehr

Kontrollstrukturen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Kontrollstrukturen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-14-15/infoeinf WS14/15 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Erwin Grüner 09.02.2006

Erwin 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

Mehr

Graphic Coding. Klausur. 9. Februar 2007. Kurs A

Graphic Coding. Klausur. 9. Februar 2007. Kurs A Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt

Mehr

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12

Mehr

Einführung in die Programmierung (EPR)

Einführung in die Programmierung (EPR) Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.

Mehr

Übersicht Programmablaufsteuerung

Übersicht Programmablaufsteuerung Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Methodische Grundlagen des Software Engineering - Übung 9

Methodische Grundlagen des Software Engineering - Übung 9 Engineering - Übung 9 9 Prozess und Softwarequalität Abgabe der Hausaufgaben am Anfang der jeweiligen Präsenzübung am 14.06.2011 bzw. 15.06.2011. Hinweise und Kontakt: Veranstaltungsseite 1 9.1 Grundlagen

Mehr

Programmieren in Haskell Einführung

Programmieren in Haskell Einführung Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort ALEX IT-Service Ihr IT Servicepartner»ALEX-IT Service«16341 Panketal an unsere Kundschaft Ihr Zeichen, Ihre Nachricht Unser Zeichen Telefon, Name Datum CMS 13.01.2010 Produktvorstellung: CMS System / dynamische

Mehr

[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL

[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL [Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL Was bedeutet Customer Service by KCS.net? Mit der Einführung von Microsoft Dynamics AX ist der erste wichtige Schritt für viele Unternehmen abgeschlossen.

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

I.1 Die Parrot Assemblersprache

I.1 Die Parrot Assemblersprache I.1 Die Parrot Assemblersprache Die virtuelle CPU Parrot ermöglicht die Verarbeitung der Parrot Assemblersprache (PASM). Zum Einstieg soll ein erstes Beispiel die Ausführung einer PASM-Datei zeigen. Legen

Mehr

Scala kann auch faul sein

Scala kann auch faul sein Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?

Mehr

Simon die linke Hand des Handwerks

Simon die linke Hand des Handwerks Simon die linke Hand des Handwerks Anleitung zur Einbindung der Filme per Embed-Code Alle Handwerksorganisationen und -betriebe können die Filme Simon die linke Hand des Handwerks in ihren Interntauftritt,

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig

Mehr

Übung Grundlagen der Programmierung. Übung 05: Arrays. Abgabetermin: xx.xx.xxxx. Java-Programm Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 05: Arrays. Abgabetermin: xx.xx.xxxx. Java-Programm Testplan Testergebnisse Übung 05: Arrays Abgabetermin: xx.xx.xxxx Name: Name, Vorname Matrikelnummer: 0XXXXXX Gruppe: G1 (Prähofer) G2 (Wolfinger) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch

Mehr

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Vorname: Nachname: Matrikelnummer: Legen Sie zu Beginn Ihren Studentenausweis

Mehr

Studentische Lösung zum Übungsblatt Nr. 7

Studentische Lösung zum Übungsblatt Nr. 7 Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Programmieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

Programmieren für Ingenieure Sommer 2015. Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Ein Rechner Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Rechner sind überall Ihr Rechner

Mehr

Klassendefinitionen verstehen

Klassendefinitionen verstehen Klassendefinitionen verstehen Java-Programme bestehen aus Klassendefinitionen und sonst nichts! 1 1.0 Konzepte Felder Konstruktoren Methoden Parameter Zuweisungen ( = ) Anweisungen bedingte Anweisungen

Mehr

Sortierverfahren. Sortierverfahren für eindimensionale Arrays

Sortierverfahren. Sortierverfahren für eindimensionale Arrays Sortierverfahren Sortierverfahren Sortieren durch Einfügen Sortieren durch Auswählen Sortieren durch Vertauschen (Bubblesort) Quicksort Sortierverfahren für eindimensionale Arrays 1 Gegeben ist eine beliebige

Mehr

WPF Steuerelemente Listbox, ComboBox, ListView,

WPF Steuerelemente Listbox, ComboBox, ListView, WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,

Mehr

ERGOcom 3. Möglichkeiten zur Anbindung an den PC

ERGOcom 3. Möglichkeiten zur Anbindung an den PC ERGOcom 3 Möglichkeiten zur Anbindung an den PC 1 Framegrabber Für ERGOcom 3 Classic, Comfort und Excellence Die Anbindung des ERGOcom 3 an den PC über S-Video Kabel und eine im PC integrierte Framegrabber-Karte

Mehr

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen

Mehr

Softwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel

Softwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie - Wintersemester 2012/2013 - Dr. Günter Kniesel Übungsblatt 10 - Lösungshilfe Aufgabe 1. CRC-Karten (7 Punkte) Es geht um die Modellierung der folgenden Bibliotheks-Anwendung:

Mehr

Informatik ist viel mehr als Delphi-Programmierung!

Informatik ist viel mehr als Delphi-Programmierung! Gliederung 1. Objektorientierte Programmierung mit Object Pascal (5. Studienbrief, Kapitel 5) 9.4. + 16.4. 2. Software-Bausteine am Beispiel der Delphi-Komponenten (5. Studienbrief, Kapitel 5) 23.4. 3.

Mehr

Informatik Grundlagen, WS04, Seminar 13

Informatik Grundlagen, WS04, Seminar 13 Informatik Grundlagen, WS04, Seminar 13 Informatik Informatik Grundlagen, Seminar 13 WS04 1 Was wir heute besprechen Nachbesprechen von Übungsblatt 11 Rekursion Grundprinzipien Übung Besprechung Übungsblatt

Mehr

Lösungsvorschläge. zu den Aufgaben im Kapitel 4

Lösungsvorschläge. zu den Aufgaben im Kapitel 4 Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere

Mehr

Wir machen neue Politik für Baden-Württemberg

Wir machen neue Politik für Baden-Württemberg Wir machen neue Politik für Baden-Württemberg Am 27. März 2011 haben die Menschen in Baden-Württemberg gewählt. Sie wollten eine andere Politik als vorher. Die Menschen haben die GRÜNEN und die SPD in

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Anwenderhandbuch logiware IO-Stick

Anwenderhandbuch logiware IO-Stick Anwenderhandbuch logiware IO-Stick Stand: Juni 2010 logiware IO-Stick http://www.io-stick.de Alfred-Mozer-Str. 42 D-48527 Nordhorn Deutschland Telefon (+49)(0)5921 7139925 Telefax (+49)(0)5921 7139929

Mehr

Algorithmen mit Python

Algorithmen mit Python Algorithmen mit Python Vorbesprechung zum Proseminar im Sommersemester 2009 http://www.python.org 1 Sie lernen in DAP Java und C/C++: 80% Syntax, 20% Algorithmen-Design Idee Schon ein einfaches Hello World

Mehr

Prüfung Computation, Programming

Prüfung Computation, Programming Prüfung Computation, Programming 1. Computation: Reguläre Ausdrücke [5 Punkte] Zusammenfassung reguläre Ausdrücke a Das Zeichen a. Ein beliebiges Zeichen [abc] Ein beliebiges Zeichen aus der Menge {a,

Mehr

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java

Mehr

Versandtaschen - dm Folien

Versandtaschen - dm Folien dm-folien gmbh Hans-Böckler-Str. 21 72770 Reutlingen Telefon +49 (0) 7121/9118-0 Fax +49 (0) 7121/9118-18 E-Mail info@dm-folien.de Versandtaschen - dm Folien Versandtaschen allgemein Wir, die Firma dm-folien

Mehr

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de Stand FTE2 Anfang 4. Semester plus Projekt Multiuhren_Thread Ich gehe im Hinblick auf Klassenarbeiten und der Abschlussprüfung davon aus, dass Sie das Skript OOP JAVA2 durchgearbeitet haben. Wir haben

Mehr

E-PRIME TUTORIUM Die Programmiersprache BASIC

E-PRIME TUTORIUM Die Programmiersprache BASIC E-PRIME TUTORIUM Die Programmiersprache BASIC BASIC Beginner s All-purpose Symbolic Instruction Code symbolische Allzweck-Programmiersprache für Anfänger Design-Ziel klar: Eine einfache, für Anfänger geeignete

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel MK:IV. IV. Modellieren mit Constraints Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren

Mehr

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

Sichere E-Mail Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere E-Mail. der Sichere E-Mail der Nutzung von Zertifikaten / Schlüsseln zur sicheren Kommunikation per E-Mail mit der Sparkasse Germersheim-Kandel Inhalt: 1. Voraussetzungen... 2 2. Registrierungsprozess... 2 3. Empfang

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation

Mehr

Handbuch zu SoSci Survey an der OVGU

Handbuch zu SoSci Survey an der OVGU Handbuch zu SoSci Survey an der OVGU www.befragung.ovgu.de Dieses Handbuch soll zwei Aufgaben erfüllen: Es soll Angehörigen der OVGU den Einstieg in die Arbeit mit SoSci Survey erleichtern und bestehende

Mehr

188.154 Einführung in die Programmierung für Wirtschaftsinformatik

188.154 Einführung in die Programmierung für Wirtschaftsinformatik Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger

Mehr

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

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln Regeln ja Regeln nein Kenntnis Regeln ja Kenntnis Regeln nein 0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % Glauben Sie, dass

Mehr

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Carla Delgado-Battenfeld Fatih Gedikli Tobias Marschall Benjamin Schowe

Mehr

Anleitung für die Hausverwaltung

Anleitung für die Hausverwaltung www.gruppenhaus.ch Version vom 15. September 2006 Autor Kontakt Gruppenhaus.ch GmbH support@gruppenhaus.ch Inhalt 1 Allgemeines... 2 1.1 Login... 2 1.2 Wenn Sie nicht mehr weiter wissen... 2 2 Belegungsplan...

Mehr

Zusammenfassung des Handzettels für Programmieren in C

Zusammenfassung des Handzettels für Programmieren in C Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.

Mehr

Aktivierung von Makros in den Erfassungshilfen

Aktivierung von Makros in den Erfassungshilfen Aktivierung von Makros in den Erfassungshilfen Für die Nutzung unserer Microsoft Excel und OpenOffice Erfassungshilfen ist es erforderlich, die Makros zu aktivieren. Diese sorgen dafür, dass sich neue

Mehr

14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt

14.4.2016. Technische Hochschule Georg Agricola WORKSHOP TEIL 3. IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt 14.4.2016 Technische Hochschule Georg Agricola WORKSHOP TEIL 3 IKT (Informations- und Kommunikationstechnik) an einer MorseApp erklärt Inhaltsverzeichnis 1. Kurzfassung zur Projekterstellung... 2 2. Morse-Tabelle...

Mehr

Schließsysteme mit Sorglos-Service, einfach, intelligent. Die Evolution der Schließsysteme

Schließsysteme mit Sorglos-Service, einfach, intelligent. Die Evolution der Schließsysteme Schließsysteme mit Sorglos-Service, einfach, intelligent. Die Evolution der Schließsysteme Die Kombination der besten Elemente ergibt WECKBACHER CLAVIS Für Gebäudebetreiber und -verantwortliche, technische

Mehr

Integrierte und automatisierte GUI-Tests in Java

Integrierte und automatisierte GUI-Tests in Java Integrierte und automatisierte GUI-Tests in Java Gliederung Die Idee hinter GUI-Tests Herausforderungen und Probleme Techniken Jemmy-Framework Konzeptorientiertes Testen FIT (Framework for Integrated Tests)

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Der zweite all unsere Datenbanken. Dieser Befehl ist etwas komplexer, aber bis auf das Passwort (kursiv fett) so zu übernehmen:

Der zweite all unsere Datenbanken. Dieser Befehl ist etwas komplexer, aber bis auf das Passwort (kursiv fett) so zu übernehmen: Antwort: Automatisierte Backups sind nicht Teil von Confixx. Mit Hilfe von Cronjobs ist es aber dennoch möglich. Als Zielordner wählen wir das Files-Verzeichnis. Die Backups werden im Confixx-Format angefertigt

Mehr

GEVITAS Farben-Reaktionstest

GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest Inhalt 1. Allgemeines... 1 2. Funktionsweise der Tests... 2 3. Die Ruhetaste und die Auslösetaste... 2 4. Starten der App Hauptmenü... 3 5. Auswahl

Mehr

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block

Sortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block Inhalt: InsertionSort BubbleSort QuickSort Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren", Springer-Verlag 2007 InsertionSort I Das Problem unsortierte Daten in

Mehr

A-CERT ADVANCED pdf-signaturprüfung einrichten 2008

A-CERT ADVANCED pdf-signaturprüfung einrichten 2008 A-CERT ADVANCED pdf-signaturprüfung einrichten und e-billing Stammzertifikat installieren Support - Kurzinformation - optimiert für Adobe Reader unter Microsoft Windows https://secure.a-cert.at/static/pdf-konfigurieren.pdf

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

Mehr

D a s P r i n z i p V o r s p r u n g. Anleitung. E-Mail- & SMS-Versand mit SSL (ab CHARLY 8.11 Windows)

D a s P r i n z i p V o r s p r u n g. Anleitung. E-Mail- & SMS-Versand mit SSL (ab CHARLY 8.11 Windows) D a s P r i n z i p V o r s p r u n g Anleitung E-Mail- & SMS-Versand mit SSL (ab CHARLY 8.11 Windows) 2 Inhalt Inhalt 1. E-Mail-Einrichtung 3 1.1 E-Mail-Einrichtung in Windows 3 2. SMS-Einrichtung 5 2.1

Mehr

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Informatik Repetitorium SS 2009 Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Operatoren und Datentypen Beispiel: Anweisungen Variable int a float b int c a= a % (int) (++b-1/4) Vorher 36 3.5 c=b

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

2. Semester, 2. Prüfung, Lösung

2. Semester, 2. Prüfung, Lösung 2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter

Mehr

Datenbanken 1. Einführung und Zugänge für die eingesetzten Resourcen. ISWeb - Information Systems & Semantic Web University of Koblenz Landau, Germany

Datenbanken 1. Einführung und Zugänge für die eingesetzten Resourcen. ISWeb - Information Systems & Semantic Web University of Koblenz Landau, Germany University of Koblenz Landau, Germany Einführung und Zugänge für die eingesetzten Resourcen of 20 Überblick Eingesetzte Resourcen und ihre Zugänge WebCT FTP-Server PHP PostgreSQL

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

Frankfurt am Main. Dortmund. Stuttgart. Düsseldorf

Frankfurt am Main. Dortmund. Stuttgart. Düsseldorf Aufgabenstellung Ein Handlungsreisender will seine Produkte in den zehn größten Städten Deutschlands verkaufen. Er startet in Berlin und will seine Reise dort beenden. Die zehn einwohnerreichsten Städte

Mehr

)XQNWLRQVWDVWH8PEXFKHQ

)XQNWLRQVWDVWH8PEXFKHQ Kassensystem (X&D6RIW Š )XQNWLRQVWDVWH8PEXFKHQ Diese Funktion erlaubt es Ihnen, bestimmte gebuchte Artikel auf einen anderen Platz umzubuchen. Sie können variabel Artikel und Mengen auf einen anderen Tisch

Mehr

C++ Tutorial: Timer 1

C++ Tutorial: Timer 1 C++ Tutorial: Timer 1 Timer v1.0 Einleitung Raum und Zeit sind spätestens seit der kopernikanischen Wende wichtige Gegenstände des Denkens geworden. In einem Programm bestimmt die Zeit die Abläufe und

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

Konzentration auf das. Wesentliche.

Konzentration auf das. Wesentliche. Konzentration auf das Wesentliche. Machen Sie Ihre Kanzleiarbeit effizienter. 2 Sehr geehrte Leserin, sehr geehrter Leser, die Grundlagen Ihres Erfolges als Rechtsanwalt sind Ihre Expertise und Ihre Mandantenorientierung.

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

Institut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),

Institut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x), Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

Mehr

KV Software Engineering Übungsaufgaben SS 2005

KV Software Engineering Übungsaufgaben SS 2005 KV Software Engineering Übungsaufgaben SS 2005 Martin Glinz, Silvio Meier, Nancy Merlo-Schett, Katja Gräfenhain Übung 1 Aufgabe 1 (10 Punkte) Lesen Sie das Originalpapier von Dijkstra Go To Statement Considered

Mehr

SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER

SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER INHALTSVERZEICHNIS Inhaltsverzeichnis... 2 Symbolverzeichnis... 3 Was ist GPP?... 4 Parameternamen... 4 Parameterformat und -größe... 4 Unterstützte

Mehr

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) 1. Aufgabe 6 Punkte Geben Sie Definitionen an für: float var; 1 a) eine float-variable var: b) einen Zeiger pvar, der float *pvar = &var; 1 auf die

Mehr

In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut.

In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut. Binäre Suchbäume Tries (Folie 182, Seite 58 im Skript) In vergleichsbasierten Suchbäumen wird nicht in Schlüssel hineingeschaut. In Tries entspricht die ite Verzweigung dem iten Zeichen des Schlüssels.

Mehr

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **

Mehr

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005 trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005 2 Inhalt 1. Anleitung zum Einbinden eines über RS232 zu steuernden Devices...3 1.2 Konfiguration

Mehr

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER Diese Anleitung dient dazu, Sie durch den Installations- und Konfigurationsprozess für das gemeinsame Verwenden einer zentralen

Mehr

Summenbildung in Bauteiltabellen mit If Then Abfrage

Summenbildung in Bauteiltabellen mit If Then Abfrage Summenbildung in Bauteiltabellen mit If Then Abfrage Die in Bauteiltabellen ausgelesenen Werte lassen sich in jeder Spalte als Summe berechnen. So können selbstverständlich die Flächen der in der Tabelle

Mehr

E-Rechnung: Einfach, bequem und sicher zahlen

E-Rechnung: Einfach, bequem und sicher zahlen Mit der Funktion E-Rechnung (elektronische Rechnungen) im E-Banking der Zuger Kantonalbank empfangen und bezahlen Sie Ihre Rechnungen bequem, sicher und papierlos. Dabei können Sie die E-Rechnung im E-Banking

Mehr

Installationsanleitung zum Access Point Wizard

Installationsanleitung zum Access Point Wizard Installationsanleitung zum Access Point Wizard Folgende EDIMAX Access Points werden unterstützt: EW-7416APn EW-7415PDn EW-7209APg EW-7206APg Basis Setup: 1) Aktualisieren sie die Firmware ihres Access

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Vernetzte Produktion. Die Firma Pilz produziert Geräte für die Automatisierung unter Industrie 4.0

Vernetzte Produktion. Die Firma Pilz produziert Geräte für die Automatisierung unter Industrie 4.0 Vernetzte Produktion Die Firma Pilz produziert Geräte für die Automatisierung unter Industrie 4.0 Schneller, flexibler, sicherer und wettbewerbsfähiger. Diese Begriffe umreißen das Thema Industrie 4.0.

Mehr