Werkstudenten, Praktikanten, Bacheloranden, Masteranden:

Einstiegsmöglichkeiten für Studenten

Für Studenten bietet 3S-Smart Software Solutions vielfältige Einstiegsmöglichkeiten vom Schnupperpraktikum bis hin zur Masterarbeit. Untenstehend finden Sie Angebote für die unterschiedlichen Phasen Ihres Studiums.

 
Werkstudent

Werkstudent (m/w)

Wir bieten:

  • Anspruchsvolle Aufgaben
  • Persönliche Einarbeitung und Betreuung
  • Kollegiale Arbeitsatmosphäre

Voraussetzungen:

  • Studium der Informatik, Elektrotechnik oder Mathematik
  • Motivation zu eigenverantwortlichem Arbeiten
  • Genaue und zuverlässige Arbeitsweise
  • Interesse und Engagement

Beginn und Umfang: Nach Absprache

Info und Bewerbung:
3S-Smart Software Solutions GmbH
Personalabteilung, Frau Sabine Panzer
jobs(at)codesys.com

 
Abschlussarbeiten

Abschlussarbeiten für Studenten der Informatik und Elektrotechnik (m/w)

Wir bieten:

  • Betreuung von Bachelor-und Masterarbeiten
  • Anspruchsvolle Aufgaben und Projekte
  • Persönliche Einarbeitung und Betreuung
  • Kollegiale Arbeitsatmosphäre
  • Chance auf eine Übernahme in ein festes Arbeitsverhältnis nach erfolgreichem Studienabschluss

Dauer: Dauer der Abschlussarbeit gemäß Studienordnung

Umfang: 40 Stunden/Woche

Beginn: Nach Absprache

Voraussetzungen:

  • Studium der Informatik oder Elektrotechnik
  • Interesse und Engagement
  • Motivation zu eigenverantwortlichem Arbeiten
  • Genaue und zuverlässige Arbeitsweise

Info und Bewerbung:
3S-Smart Software Solutions GmbH
Personalabteilung, Frau Sabine Panzer
jobs(at)codesys.com

 

Masterarbeit/Praktikumsarbeit Git-Anbindung

Problembeschreibung

CODESYS ist ein unabhängiges Programmiersystem für speicherprogrammierbare Steuerungen. Ein CODESYS-Projekt besteht sowohl aus Logik-Bausteinen, die in einer der fünf Sprachen der IEC 61131-3 programmiert werden, als auch aus anderen Bausteintypen wie Gerätekonfigurationen, HMI-Visualisierungen und dergleichen. Alle diese Bausteine werden in einer einzigen Projektdatei gespeichert, was u.a. für die Weitergabe sehr vorteilhaft ist.

CODESYS SVN ist ein nachinstallierbares Add-on-Produkt für CODESYS, mit dem solche Projekte in einem Subversion-Repository verwaltet werden können. Dabei entspricht jeder Baustein einer Datei im Repository, so dass pro Baustein eine Versionsgeschichte aufgezeichnet werden kann. Des weiteren können mehrere Entwickler über das Repository gleichzeitig an demselben Projekt arbeiten. Alle wesentlichen Subversion-Befehle sind im CODESYS-Programmiersystem integriert, ebenso wie passende - z. T. grafische - Diff-Ansichten zum Vergleich verschiedener Bausteinrevisionen.  CODESYS SVN gehört zu den erfolgreichsten Add-ons in unserem Produktportfolio.

Seit der Markteinführung von CODESYS SVN ist zu beobachten, dass das Versionsverwaltungssystem Git gegenüber Subversion stark an Bedeutung zugenommen hat, nicht zuletzt durch funktionale Vorteile, die Existenz von GitHub und die verfügbare nahtlose Integration in Entwicklungsumgebungen wie Microsoft Visual Studio. Daher ist es unser Bestreben, dem bestehenden Add-on für Subversion auch eine Git-Integration mit CODESYS zur Seite zu stellen.

Ziel der Arbeit

Die Entwicklung eines Add-ons für die Git-Integration ist dreigeteilt.

  1. Die datenbankunabhängige Softwareschicht zur Synchronisation eines CODESYS-Projekts mit einer temporären Arbeitskopie ist momentan Bestandteil von CODESYS SVN, kann aber auch für CODESYS Git verwendet werden. Teilziel ist es, diese Schicht aus CODESYS SVN herauszulösen und als generisches Modul zur Verfügung zu stellen.
  2. Diese vom generischen Synchronisationsmodul erzeugte temporäre Arbeitskopie muss mit Hilfe des Git-Befehlssatzes mit dem Git-Repository synchronisiert werden. Diese Teilaufgabe beinhaltet die Suche und Evaluation nach einer am Markt verfügbaren Git-Client-Bibliothek,
    die unter .NET lauffähig und mit unserer Lizenz-Policy kompatibel ist.
  3. Die wichtigsten Git-Befehle müssen in der CODESYS Programmieroberfläche als Menükommandos zur Verfügung gestellt werden, nebst den dazu nötigen Dialogen, die in ihrer Funktionsweise bestehenden Git-Integrationen (z.B. TortoiseGit) nachempfunden sein sollen. Der zu erreichende Umfang dieser Teilaufgabe kann abhängig von der verbleibenden Projektlaufzeit angepasst werden.

Sollte dieses Thema als Masterarbeit gewählt werden, kann der wissenschaftliche Fokus auf folgende Punkte gelegt werden:

  • Systematischer Vergleich zwischen Git und Subversion
  • Systematischer Vergleich zwischen verschiedenen Git-Client-Bibliotheken
  • Systematische Darstellung des Entwicklungsvorgangs, ein bestehendes komplexes Software-Produkt zu refaktorieren, um andere Produkte davon ableiten zu können, nebst Risiko- und Architekturanalysen


Dauer: bis 6 Monate
Vergütung: ja
Wochenarbeitszeit: 40h

Bewerbungszeichen: Git-Student


Info und Bewerbung:

3S-Smart Software Solutions GmbH
Personalabteilung, Frau Sabine Panzer
jobs(at)codesys.com

 

Masterarbeit Datenfluss-Analyse für statische Codeanalyse

Problembeschreibung
CODESYS ist ein hardwareunabhängiges Programmiersystem für speicherprogrammierbare Steuerungen. Die verwendeten Programmiersprachen entsprechen dem Standard IEC 61131-3. Siewerden in prozessorspezifischen Code übersetzt.
CODESYS Static Analysis ist ein Add-on-Produkt für CODESYS zur statischen Codeanalyse von Programmen. Mit dieser Analyse wird der Code auf mögliche Fehlerquellen, stilistische Mängel, Verstoß gegen Codier-Richtlinien und Optimierungspotenzial geprüft.

Eine Datenfluss-Analyse untersucht die Abhängigkeit zwischen den Daten eines Programms. Eine solche Analyse kann dazu dienen, Optimierungspotential oder mögliche Fehler in einem Programm zu entdecken.

Beispiel:
bTest1 := bTest;
IF bTest THEN
;
ELSIF bTest1 THEN
;    // unerreichbarer Code!
END_IF

Eine Datenfluss-Analyse ist in der Lage, den unerreichbaren Code im ELSIF-Zweig zu erkennen. Optimierende Compiler nutzen solche Information, um unerreichbaren Code einfach auszuschneiden. Unerreichbarer Code ist häufig jedoch nur ein Symptom eines Programmierfehlers, in diesem Beispiel könnte etwa der Test für den ELSIF-Fall einfach falsch sein.
Daher sollte die oben beschriebene Situation als Warnung gemeldet werden.

Ziel der Arbeit
Es gibt verschiedene Möglichkeiten zur Datenfluss-Analyse. Zu prüfen ist, welche Art der Datenflussanalyse sich für den Anwendungsfall der statischen Codeanalyse eignet. Eine Datenfluss-Analyse für IEC 61131-3-Projekte soll implementiert und in die statische Codeanalyse von CODESYS integriert werden. Es soll untersucht werden, welche Tests mit Hilfe dieser Analyse auf dem Quellcode durchgeführt werden können, und diese Tests sollen in die statische Codeanalyse integriert werden. Mit Hilfe dieser Tests sollen bestehende Projekte sowie die Bibliotheken von CODESYS auf Fehler und Optimierungspotenzial untersucht werden. An ausgewählten Projekten soll gemessen werden, welche Verbesserungen bei der Codegröße und den Laufzeiten eines Projekts durch Umstrukturierung des Codes möglich sind.


Dauer: bis 6 Monate
Vergütung: ja
Wochenarbeitszeit: 40h

Bewerbungszeichen: Entwicklung-Student


Info und Bewerbung:

3S-Smart Software Solutions GmbH
Personalabteilung, Frau Sabine Panzer
jobs(at)codesys.com

 

Masterarbeit / Bachelorarbeit im Bereich Produktmanagement

Thema
Konzeption und Einführung eines Management-Tools für die Scrum-Entwicklung und die mittel- bis langfristige Produktplanung.

Beschreibung Ziel der Arbeit ist die Evaluierung der bestehenden Prozesse und des bereits präferierten Management-Tools für die Produktplanung. Dazu sollen der Vorgang der Produkt- und Entwicklungsplanung sowie die Scrum-Methodik hinsichtlich Vorgangs- und Projektverfolgung aller Softwareteams untersucht und verglichen werden. Auf dieser Basis ist eine Optimierung und Erweiterung des bestehenden Aufgabenmanagement-Systems (Jira) um ein Produktplanungs-Tool zu evaluieren. Der Einsatz dieses Tools sowie konkrete Maßnahmen sollen parallel zu einer ausgewählten Produktentwicklung durchgeführt und dokumentiert werden.

Dauer: bis 6 Monate
Vergütung: ja
Wochenarbeitszeit: 40h

Bewerbungszeichen: PM-Student


Info und Bewerbung:

3S-Smart Software Solutions GmbH
Personalabteilung, Frau Sabine Panzer
jobs(at)codesys.com

 

Masterarbeit Vektor-Datentyp für die IEC 61131-3

Problembeschreibung

CODESYS ist ein hardwareunabhängiges Programmiersystem für speicherprogrammierbare Steuerungen. Die verwendeten Programmiersprachen entsprechen dem Standard IEC 61131-3. Sie werden in prozessorspezifischen Code übersetzt.

CODESYS SoftMotion ist an Add-on-Produkt zur Bewegungssteuerung innerhalb einer SPS-Applikation. Motion Control-Anwendungen sind extrem zeitsensitiv mit sehr engen Zykluszeiten und führen gleichzeitig aufwendige Rechenoperationen durch. Insbesondere findet dabei auch Vektorrechnung statt.
Ein Vektor-Datentyp könnte das Rechnen mit Vektoren stark beschleunigen, sofern die Operationen von der Hardware unterstützt werden.

Ziel der Arbeit
Für Vektoren unterschiedlicher Länge soll ein Vektor-Datentyp definiert werden. Des Weiteren sollen geeignete Operationen zum Rechnen mit Vektoren definiert werden. Dieser Datentyp und die Operationen sollen in die Programmierumgebung CODESYS integriert werden.

Eine Erweiterung des bestehenden Intel-x86-Codegenerators soll implementiert werden, um diese Befehle umzusetzen und möglichst effizient auf die SSE und/oder AVX-Einheit abzubilden.
Ferner sollen die SoftMotion-Bibliotheken auf den neuen Datentyp umgestellt werden und der erzielte Performance-Gewinn gemessen werden.

Diese Arbeit wird unterstützt von der Intel Corporation™.

 

Dauer: bis 6 Monate
Vergütung: ja
Wochenarbeitszeit: 40h

Bewerbungszeichen: Vektor-Student


Info und Bewerbung:

3S-Smart Software Solutions GmbH
Personalabteilung, Frau Sabine Panzer
jobs(at)codesys.com

 

Bachelorarbeit / Masterarbeit Compiler-Direktive für „Likeliness“

Problembeschreibung

CODESYS ist ein hardwareunabhängiges Programmiersystem für speicherprogrammierbare Steuerungen. Die verwendeten Programmiersprachen entsprechen dem Standard IEC 61131-3. Sie werden in prozessorspezifischen Code übersetzt. Aktuell existieren für CODESYS Codegenerator-Backends für mehr als 10 Prozessoren.

Moderne Prozessoren verfügen über tiefe Pipelines, um Instruktionen weit vor ihrer eigentlichen Ausführung zu laden und zu bearbeiten. Bei bedingten Sprüngen arbeiten diese Prozessoren mit einfachen Heuristiken, nach denen entschieden wird, welcher Pfad der vermutlich abzuarbeitende ist.

Eine falsche Heuristik kann für die Performance sehr schlecht sein, weil die Pipeline dann unter Umständen vollständig geleert und komplett neu gefüllt werden muss.

Ein effizienter Compiler kann diese Eigenschaften eines Prozessors ausnutzen, um schnelleren Code zu generieren, wenn die Wahrscheinlichkeit bekannt ist, mit der eine Bedingung zutrifft. Es wäre sehr hilfreich, eine Direktive zu implementieren, die dem Programmierer erlaubt, die Wahrscheinlichkeit einer Bedingung festzulegen. Eine solche Direktive könnte zum Beispiel folgendermaßen aussehen:

IF (__UNLIKELY(x > 100000)) THEN
         LOG_Message(‘Variable too big’);
ELSIF (__LIKELY(x < 100)) THEN
          // do this
ELSE
         // do that
END_IF

Neben IF-ELSIF-Anweisungen gibt es in den grafischen Sprachen der IEC 61131-3 auch bedingte Aufrufe, bedingte Sprünge und bedingte Return-Anweisungen. Auch diese sollen mit der __LIKELY-Direktive optimiert werden können.

Ziel der Arbeit
Es soll eine wie oben beschriebene Direktive implementiert und in den CODESYS-Compiler integriert werden. Außerdem soll untersucht werden, wie sich diese Direktive auf den verschiedenen Prozessor-Architekturen (Intel Pentium, ARM, PowerPC, evtl. SH, MIPS und weitere) ausnutzen lässt und welche Performance-Gewinne dadurch zu erzielen sind.

Die Arbeit kann eventuell zu einer Masterarbeit ausgeweitet werden durch Entwicklung einer Runtime-Analyse, die die Häufigkeit misst, mit der eine Bedingung zutrifft, um in einem zweiten Compile-Durchlauf den Code mit __LIKELY / __UNLIKELY – Direktiven zu optimieren.

 

Dauer: bis 6 Monate
Vergütung: ja
Wochenarbeitszeit: 40h

Bewerbungszeichen: Compiler-Student


Info und Bewerbung:

3S-Smart Software Solutions GmbH
Personalabteilung, Frau Sabine Panzer
jobs(at)codesys.com

 

Inspiring Automation Solutions