I am a embedded software engineer and computer scientist. My expertise reaches from assembler for microcontrollers (e.g. Arduino or Atmel) up to model-driven development with Java or C++. In my spare time, I add new features to Hyperion, write games for retro gaming consoles (Atari VCS, Amiga, Game Boy) and try to solve IT security challenges. I am a team player, always interested in new business opportunities and accustomed to work in deadline-driven environments.
Implementation of a test framework for an embedded system which controls lighting installations. It runs Linux and provides a REST interface. The interface is accessed by a smartphone app which allows users to dim lights, program a timer, etc.
Tools and Technologies: Android, Java, REST, DALI-Bus, Linux, Espresso
Development of a smartphone app for a powerbank sharing system. A user with low power can rent and return a powerbank in restaurants, airports, etc. The smartphone app contains a map, a QR code scanner and payment functionality.
Tools and Technologies: Android, Java, Cordova, Camera Autofocus
Building an infotainment system for a car which consists of several touch displays and allows the integration of a smartphone using wireless technology. During the project, a first stage boot loader and a Linux kernel driver were written. The kernel driver controls a display deserializer chip.
Tools and Technologies: C++, ARM Assembler, Linux Kernel, Apple CarPlay, Android Auto, TCP, Renesas „System on Chip“
Implementation of a camera application with Java which adds graphical overlays in real-time to a H264 video stream. A patent was submitted to protect the technology.Tools and Technologies: Java, Android Studio, Git, OpenGL, Patents
Implementation of a RTMP library for Android. It allows Android-Apps to stream video/audio content to services like Twitch or Ustream. Therefore, an x86 Linux library had to be crosscompiled for Android ARM architecture.
Tools and Technologies: C/C++, Git, GDB, Android Native Development Kit, RTMP, Wireshark
Design of an android-based, embedded camera system for cars which records the driving experience and allows an analysis for quality assurance. It reads data from an image sensor, processes the resulting video with a H264 encoder, stores the result in a SD card or streams via a network interface.
Tools and Technologies: C/C++, OMAP4 Processor from Texas Instruments, GDB, Git, MS Visio, Android Studio, Linux Kernel, RTP Protocol, Wireshark
Implementation of an ultrasound-based system using Java which monitors workers and automatically detects failures in their assembly process.
Tools and Technologies: Java, UML, Xtext, Finite State Machines, Google Web Toolkit, XML
Controlling a photovoltaic module with a raspberry pi. The system measures power consumtion and adjusts maximum power rating (Pmax). The core of this system is a modified C library.
Tools and Technologies: Linux für Raspberry-Pi, SSH, Serial Interface, Yasdi
Implementation of a runtime packer which encrypts windows portable executables (PE). This approach protects binary files against reverse engineering. The runtime packer was developed with x86 assembler and contains a Windows PE loader and a AES decryption stub.
Tools and Technologies: x86 Assembler, C/C++, Visual Studio. Win32 APIs, Windows System Programming
C. Ammann, Hyperion: Implementation of a PE-Crypter, Berlinsides 2012
C. Ammann, Implementation of Runtime Packer and -Crypter, Backtrack-Day 2011
C. Ammann, 8-Bit Wonderland - Executing custom Code on the Nintendo Game Boy, PH-Neutral 2010
C. Ammann, Verknüpfung von formaler Verifikation und modellgetriebener Entwicklung, Dissertation, Erschienen in „FB 06 – E-Dissertationen“, 29.4.2015
C. Ammann, Verification of Web Applications with a Model Checker, 2012, 16th IASTED International Conference on Software Engineering and Applications
C. Ammann, Formal Verification of Web Applications, TAV 32 Workshop: Testen von geschäftskritischen und sicherheitskritischen Anwendungen, in Softwaretechnik-Trends, Band 32 Heft 1, 2011
C. Ammann, Verification of Behavioral Domain-Specific Languages with a Model Checker, 3rd International Asia Conference on Informatics in Control, Automation and Robotics (CAR 2011), Mechanical Engineering and Technology - Advances in Intelligent and Soft Computing, Vol. 125, ISBN 978-3-642-27328-5, 2011
C. Ammann, S. Kleuker und E. Pulvermüller, From Business Modeling to Verified Applications, In Workshop "Protokoll-basierte Modellierung von Geschäftsinteraktionen" at Informatik 2011, GI-Edition - Lecture Nodes in Informatics (LNI), ISBN 978-3-88579-286-4, 2011
C. Ammann, Verifikation von UML-Statecharts unter besonderer Berücksichtigung von Speicherverbrauch und Laufzeit des Model Checkers, in Softwaretechnik-Trends, Band 31 Heft 3, 2011
C. Ammann, Integration von Model-Driven Development und formaler Verifikation in den Softwareentwicklungsprozess - eine Fallstudie mit einem 3D-Tracking-System, in Softwaretechnik-Trends, Band 30 Heft 4, 2010