Farzad Safa – Record of Projects July 2020 - page 1/11

Contents 1. Overview ...... 2 2. Internal projects ...... 3 xcoFDK ...... 3 3. Customer projects ...... 4 [08/2019 – 05/2020] Embedded Systems Development for Medical Devices ...... 4 [07/2018 – 11/2019] Advanced Driver Assistance Systems ADAS ...... 4 [11/2017 – 06/2018] OO Development in Infotainment System (IC) ...... 5 [01/2017 – 02/2018] OO Development in Infotainment System (HU) ...... 5 [08/2016 – 12/2016] Automotive Receiver Audio Module ECU (HU) ...... 6 [07/2016 – 10/2016] Intelligent Universal Charging Adapter ...... 6 [12/2013 – 06/2016] Model driven Embedded System Applications (IC & HUD) ...... 7 [01/2013 – 12/2013] OO Development in Infotainment System (HU) ...... 8 [01/2012 – 01/2013] Model driven Embedded System Application (IC & HUD) ...... 8 [02/2006 – 12/2011] OO Development in Embedded System Application (HU) ...... 9 [08/2003 – 01/2006] Rapid Prototyping in Embedded System Application (IC)...... 9 [09/2001 – 07/2003] OO Development in Embedded System Application (HU) ...... 10 [06/1999 – 07/2001] OO Development in Embedded System Application (HU) ...... 10 [11/1991 – 05/1999] Earlier project records ...... 11

Farzad Safa, Willy-Brandt-Str. 6a, 76275 Ettlingen +49 (0)151 / 514 625 17 www.systes.de +49 (0)7243 / 94 91 266 [email protected]

Farzad Safa – Record of Projects July 2020 - page 2/11

1. Overview

Study: Informatik () at TH Karlsruhe Professional experience: since 1991 Technical experience: OO Development & Architecture, Embedded Systems Location: Depending on project, by agreement Availability: From 09/2020

Main technical experience Embedded Systems & OO Development (Design & Implementation & Analysis)

Role: SW Architect, SW Developer, SW Platform Responsible, SW Integration Responsible, Functional Owner

Programming Languages C, C++, Boost.Asio C++ Libraries, Qt Creator, MS-VC++ (MFC), Borland C++-Builder (VCL), VisualCafe, Java, Swing, Groovy, Bash, Debian Packaging, Bootloader, Python, Perl, Ruby, XML, XSL, XSLT, Prolog, Assembler

Operating Systems Windows 7, Windows CE (und Windows XP/NT/95/3.11, MS-DOS), Unix, Linux, Ubuntu, VxWorks, QNX, OSEK, SYSBISO, INTEGRITY

Machines & Processors IBM-PC, IBM-AIX, Sun-Workstations, Hitachi Super-H (SH-3, SH-4), TI Jacinto 5 (eco), TI Jacinto 6 DRA 75x, V850E2/Dx4 JCP 2011 ML + PL, NXP i.MX 6, NXP MAC57D5, NXP i.MX6 SoloX, Renesas R-Car H3/M3, Renesas R-Car V3H

Business Environment Collaboration in project teams of 10 – 200+ members

Languages German, Englisch, Persian, Azeri, Turkish

Farzad Safa, Willy-Brandt-Str. 6a, 76275 Ettlingen +49 (0)151 / 514 625 17 www.systes.de +49 (0)7243 / 94 91 266 [email protected]

Farzad Safa – Record of Projects July 2020 - page 3/11

2. Internal projects xcoFDK A subsytems Framework Development Kit - extensible : create new frameworks composed of selected subsystems - customizable : per-FDK configurable framework parameters - object-oriented : OOP approach to manage low to mid to large scale systems - embedded-fit : suitable for embedded systems as well - KIS & KGP : keep it both simple and general purpose - generic : designed and built using meta- or template programming - cross-platform : Linux, Windows, macOS - built-in-concurrency : relieves development via uniform concurrency mechanisms - multi-threaded : ensures responsiveness and decomposition of identified jobs - multi-language : C++, Java, Python, Ruby - multi-application-fit : console & desktop & web applications (PyQt, Qt, Java Swing etc.) - third-party open : open for integration of third-party frameworks and tools

Default, ready-to-use xcoFDK - full-fledged, rapid : enables rapid development of end user applications - layered design : layered composition of default, well-designed subsystems with dependency injection applied on life cyles phase transitions - parallelism, messaging : provides stadardized mechanisms for (a)synchronous processing, uses the right protocol based on message type - networking, database : capable of transparent TCP/IP and DB connections - core foundation : major (configurable) framework components: * event-driven, all-purpose tasks (i.e. threads) * worker tasks (periodic jobs requiring higher CPU demand) * lightweight timers (delayed jobs with low CPU demand) * message dispatcher with (de-)registration services (internal/incoming/outgoing/network/inter-CPU messages) * system monitor (provides diagnostic, watchdog etc. services) * life cycle management * enhanced logging cababilities Planned extensions - Tools (integration) : xcoDesigner (GUI application to design xcoFDK’s architecture), code generator, installer (pip, Debian, Windows) - Frameworks (support) : Boost, Machine Learning, Web development, CommonAPI

Development status - xcoFDK-Py : version 1.0 [available], version 1.1 [w.i.p1] - xcoFDK-J : version 1.0 [w.i.p] - xcoFDK-C++ : version 1.0 [w.i.p] - xcoFDK-R : version 1.0 [w.i.p]

1 [w.i.p.] work in progress

Farzad Safa, Willy-Brandt-Str. 6a, 76275 Ettlingen +49 (0)151 / 514 625 17 www.systes.de +49 (0)7243 / 94 91 266 [email protected]

Farzad Safa – Record of Projects July 2020 - page 4/11

3. Customer projects

[08/2019 – 05/2020] Embedded Systems Development for Medical Devices Embedded Development of Orthopedic Devices: - Linux Kernel & Bootloader Programming & Configuration - Replacement of U-Boot Logo by Customer Splashscreen - Replacement of Linux Tux by Customer Splashscreen - Debian Packaging - Qt Application Development - Implementation & Configuration of bootable Ubuntu Live USB Stick - Preseeding of Ubuntu Netboot Images - Bash Automation & Scripting

Role: System and Application SW Developer Machines: NXP i.MX6 based SBC

Operating Systems: Linux 4.15 / Ubuntu 18.04 IDE & Tools: C++11, C, , Qt, SVN, , Bash, U-Boot, Make, dpkg, DebianInstaller, Jira, Polarion Duration: 8 MM

[07/2018 – 11/2019] Advanced Driver Assistance Systems ADAS ECU for Autonomous Driving: - With Performance & Realtime Controller - Responsible architect for System & Application SW - Design & Modelling & Implementation of System and Application Framework (Components) - Interfacing to: - Central Computer Vision Module - Inter CPUs Communication ICCOM - Ethernet & Vehicle Network - OO Development in Multiplatform Environment - (Non-)Verbose DLT Tracing / Parser (implementation) - Definition & Planning & Assignment of work packages (SW) - Close working with Function Owners & Suppliers

Role: System and Application SW Architect / Developer Machines: Renesas R-Car V3H, IBM-PC

Operating Systems: QNX, AUTOSAR, Windows 10 IDE & Tools: C++11, C, QNX Momentics, Visual Studio C++ 10, Enterprise Architect, PTC Integrity, Git, CMake, Beyond Compare 4, DLT Parser Duration: 8 MM

Farzad Safa, Willy-Brandt-Str. 6a, 76275 Ettlingen +49 (0)151 / 514 625 17 www.systes.de +49 (0)7243 / 94 91 266 [email protected]

Farzad Safa – Record of Projects July 2020 - page 5/11

[11/2017 – 06/2018] OO Development in Infotainment System (IC) Integrity OS Development Support: - Startup & Performance Optimization - Test Automation - Driver & Component Test - System Configuration & Integration - BSP Integration - OS Virtualization

Role: Development Support Machines: IBM-PC, Renesas R-Car H3/M3

Operating Systems: Integrity, Linux / Ubuntu IDE & Tools: C, C++11, Git, Gerrit, JIRA, Confluence, Python, Bash, CMake, BitBake, Docker, Robot Framework, Beyond Compare 4 Duration: 8 MM

[01/2017 – 02/2018] OO Development in Infotainment System (HU) Complete development of Automotive Ethernet Middleware: - Design & Modeling & Implementation & Test - Embedded System, Automotive Ethernet/CAN network - Linux IPC, TCP/IP Programming - Boost.Asio (v1.61.0 / v1.66.0) - OO Design & Architecture - Negative & Positive Testing (UnitTest) - UML Modeling & documentation

Role: SW Architect & Developer Machines: IBM-PC, Renesas R-Car M3 NXP SJA1105 Automotive Ethernet Switch NXP TJA1102 BroadR-Reach PHY

Operating Systems: Linux / Ubuntu, FreeRTOS IDE & Tools: C++11, Boost.Asio, Python, Qt Creator, Enterprise Architect, Eclipse Mars.2, Git, JIRA, Confluence, Wireshark, Bash, CMake, Portage, commonAPI, SOME/IP, Franca IDL, JSON, YAML, Beyond Compare 4 Duration: 14 MM

Farzad Safa, Willy-Brandt-Str. 6a, 76275 Ettlingen +49 (0)151 / 514 625 17 www.systes.de +49 (0)7243 / 94 91 266 [email protected]

Farzad Safa – Record of Projects July 2020 - page 6/11

[08/2016 – 12/2016] Automotive Receiver Audio Module ECU (HU) Functional Owner TV Tuner: - Functional responsible for domain TV Tuner - Feature & release planning, status reporting to - Planning of work packages and tracking of their execution - Clarification of functional contents - Analysis and assessment of customer requirements in close collaboration - Preparation of detailed specification with customer & suppliers - Collaboration in conceptual design and development

Role: Functional Owner TV Tuner Machines: IBM-PC, TI Jacinto 6 DRA 75x (ARM Cortex A15 & M4) : Linux, AUTOSAR Tools: Enterprise Architect, Git, , SubVersion, DOORS, JIRA, Confluence, Redmine, MS Projects Duration: 5 MM

[07/2016 – 10/2016] Intelligent Universal Charging Adapter Build & Configuration Management: - Creation of Jenkins Jobs - Evaluation of Jenkins Pipeline Plugin - Transformation of Freestyle Jobs to Pipeline Jobs - Evaluation of Jenkins Plugins for Unit Test Reporting - Creation of Jenkins Jobs using xUnit for Unit Test Reporting

Role: Build & Configuration Management – Support & Consulting Machines: IBM-PC, NXP i.MX6 SoloX (ARM Cortex A9 & M4) Operating system: Ubuntu / Linux 3.14, MQX RTOS IDE & Tools: Git, vi, Bash, Jenkins, Jenkins Plugins Pipeline & xUnit & JUnit, QUnit, Groovy, XML, XSLT, codeBeamer ALM Duration: 4 MM

Farzad Safa, Willy-Brandt-Str. 6a, 76275 Ettlingen +49 (0)151 / 514 625 17 www.systes.de +49 (0)7243 / 94 91 266 [email protected]

Farzad Safa – Record of Projects July 2020 - page 7/11

[12/2013 – 06/2016] Model driven Embedded System Applications (IC & HUD) Instrument Cluster SW Integration Responsible (GC / HMI): - Development of Instrument Cluster (IC) and Head-up-Display (HUD) - SW integration in Graphic Controller (GC) with HMI, Handling of Change Requests - Integration of BSP / system components in GC System (MOST / CAN) - System configuration & optimization: Startup & Memory Layout - Automation & optimization of Build System, Error analysis of SW system modules

Role: Integration Responsible (GC) Machines: IBM-PC, NXP MAC57D5 (Halo) ARM Multicore Operating system: Windows 7, INTEGRITY RTOS (GC), AUTOSAR (AC) IDE & Tools: C/EEC++, Green Hills Multi2000 ARM v6.1 IDE + Debugger, Visual Studio 2005, CANoe v7.6, E-Sys, Git, SourceTree, CMake v2.8, MKS Integrity Client 2009, MS Access, Beyond Compare 3.0, Perl 5, MSYS Duration: 16 MM Pre-Integration & Analysis of SW Components: - Development of Instrument Cluster (IC) and Head-up-Display (HUD) - Error analysis in Graphic-Subsystem, Handling of Change Requests - Operational & functional integration of (framework) components, Error Analysis, Debugging - Automation of process of pre-integration, Optimization of CMake System Build Configuration

Role: System Analysis & Bug tracking in Graphic-Subsystem Machines: IBM-PC, NXP i.MX 6 ARM Multicore Operating system: Windows 7, INTEGRITY RTOS (GC), OSEK (GC & AC) IDE & Tools: C/EEC++, Green Hills Multi2000 ARM v6.1 IDE + Debugger, Visual Studio 2005, CANoe v7.6, Git, SourceTree, CMake v2.8, MKS Integrity Client 2009, TortoiseHg (), JIRA, Altova XMLSpy 2012, Together Architect, MS Access, Beyond Compare 3.0, Perl 5, MSYS Duration: 6 MM HMI Application Development: - Model driven development of HMI (free programmable Instrument Cluster FPK) - Development of graphical animations (using XML-based Storyboards) - Requirements Analysis, Unit Tests, Module Tests

Role: Developer (Requirements Analysis / Design / Implementation / Test) Machines: IBM-PC, Renesas V850E2/Dx4 – JCP 2011 PL Operating system: Windows 7, OSEK IDE & Tools: C/EEC++, Green Hills Multi2000 V850 v5.3 IDE + Debugger, Visual Studio 2005, CANoe v7.5, MKS Integrity Client 2009, TortoiseHg, TortoiseSVN (SubVersion), JIRA, Altova XMLSpy 2012, Together Architect, MS Access, Beyond Compare 3.0, Perl 5, MSYS Duration: 10 MM

Farzad Safa, Willy-Brandt-Str. 6a, 76275 Ettlingen +49 (0)151 / 514 625 17 www.systes.de +49 (0)7243 / 94 91 266 [email protected]

Farzad Safa – Record of Projects July 2020 - page 8/11

[01/2013 – 12/2013] OO Development in Infotainment System (HU) Design / Modeling / Implementation / Integration of HM: - Development of (framework) applications in Head-Unit (HU) - Embedded System, MOST/CAN network - Development of MOST function block(s), e.g. SW Download - OO Design & Architecture, UML Modeling - Negative and Positive Testing (UnitTest), documentation - Pre-integration of system & framework components

Role: SW Developer / Architect Machines: IBM-PC, TI Jacinto 5 eco, NXP i.MX 6 Operating Systems: Windows 7, Ubuntu, SYSBIOS, QNX IDE & Tools: TI Code Composer Studio (Eclipse IDE, C++), Enterprise Architect, Spectrum Digital Emulator XDS560, K2L ACS MOST Framework, Optolyzer Suite v1.6.2, (Tortoise)SVN, Bash, Cygwin, CMake, Portage, Acunote Project Management and Scrum Software Duration: 12 MM

[01/2012 – 01/2013] Model driven Embedded System Application (IC & HUD) Design / Analysis / Integration of HMI: - Development of Instrument Cluster (IC) and Head-up-Display (HUD) - Error analysis: System & source code - Review & extension of architecture: System & model design & HMI - Change request management - Operational & functional integration and debugging of HMI components - Integration of framework components - Pre-integration of SW modules and packages: Planning & Execution

Role: Developer & Integrator (Design & Implementation & Test & Planning & Integration)

Machines: IBM-PC, Renesas V850E2/Dx4 – JCP 2011 ML + PL Operating Systems: Windows XP, OSEK IDE & Tools: C/EEC++, Green Hills Multi2000 V850 v5.3 IDE + Debugger, MS Visual Studio 2005, CANoe v7.5, MKS Integrity Client 2009, PVCS Version Manager v7.5, TortoiseHg, TortoiseSVN JIRA, Altova XMLSpy 2012, SYNAPTICAD Wave Viewer v16.01z, Together Architect 1.1, MS Access, Beyond Compare 3.0, Perl 5 Duration: 12 MM

Farzad Safa, Willy-Brandt-Str. 6a, 76275 Ettlingen +49 (0)151 / 514 625 17 www.systes.de +49 (0)7243 / 94 91 266 [email protected]

Farzad Safa – Record of Projects July 2020 - page 9/11

[02/2006 – 12/2011] OO Development in Embedded System Application (HU) Development of Automotive Multimedia Software: - Development of Multimedia applications in Head-Unit (HU) - Embedded Systems, OO Design, MOST/CAN/FlexRay network - Design of application packages and APIs, implementation and Test - Development of Framework and GUI applications, e.g. SDARS Radio, Hybrid Menu, Electric Vehicle Charging Menu, Board Computer, Trip Computer etc. - Animation modules for visualization, simulation SW driving ECUs - Further development (3D porting) of interactive user manual in HU Platform Responsible: - Performance / System Analysis / SW Integration / SW Delivery / Supplier Interface - Re-design of system / application components to improve key performance indicators - MOST Connectivity & Framework Responsible

Role: SW Developer / Architect, Platform Responsible Machines: IBM-PC, SH-4 (Hitachi Super-H), TI Jacinto Operating Systems: Windows XP, Windows CE, VxWorks, QNX IDE & Tools: MS Visual C++, OptoLyzer4MOST, CANoe, make, XML, XSL, Boost C++, Ruby, Python, TortoiseSVN, TortoiseHg, DOORS Duration: 71 MM

[08/2003 – 01/2006] Rapid Prototyping in Embedded System Application (IC) Development of Rapid Prototyping System: - Embedded Systems, MOST/CAN Network - Prototyping implementation of complete system for Instrument Cluster (IC) - Graphical representation of vehicle information data, e.g. speed, temperature, navigation guidance, incoming call, entertainment lists, on CID and HUD displays - Design and creation of GUI components with Altia Design - Design and implementation of a new abstraction API to separate GUI application (PC, Embedded PC) from the real-time subsystem (VxWorks) - Integration of system into external MOST network (via self-developed MOST Framework) - Design, specification and implementation of new MOST function blocks - Design / implementation / test of MOST application packages (e.g. Navigation, Telephone, AmFmTuner, CD Changer, MFL etc.) - Further development of CAN application modules, HW / In-vehicle system integration - Release-Erstellungen /Integration in die Versionskontrolle (RCS, VSS, Perforce, SubVersion)

Role: Developer (Architecture / Design / Implementation / Test) Machines: IBM-PC, SH-4 (Hitachi Super-H) Operating Systems: Windows XP, VxWorks IDE & Tools: Tornado-IDE (WindRiver), SNiFF+, RCS, OptoLyzer4MOST Professional, CANoe, Altia Design, Altia DeepScreen, Tilcon IDS (Interface Development Suite), MS Visual C/C++, MS Visual Source Safe, Perforce, SubVersion Duration: 30 MM

Farzad Safa, Willy-Brandt-Str. 6a, 76275 Ettlingen +49 (0)151 / 514 625 17 www.systes.de +49 (0)7243 / 94 91 266 [email protected]

Farzad Safa – Record of Projects July 2020 - page 10/11

[09/2001 – 07/2003] OO Development in Embedded System Application (HU) Development of Automotive Multimedia Software: - MOST architecture (Media Oriented Systems Transport), - OO Design (Java, Design Patterns), OSGi (Open Services Gateway Initiative) Framework - Design & Implementation of an abstraction API of MOST networking layer between Java (high level) and C (low level) - Design / implementation / test of class libraries in Java/OSGi - Design / implementation / test (Simulation SW, HW tests) of applications to control MOST devices, e.g. Japan Navigation - Release build (JAR files, JAVADOC documentation) - Release automation (make, batch scripts)

Role: Developer (Architecture / Design / Implementation / Test) Machines: IBM-PC, SH-3 (Hitachi Super-H) Operating Systems: Windows NT, VxWorks IDE & Tools: VisualCafe 4.0, Forte for Java 4.0, OSGi Framework Release 2.0, Rational Rose, Together++, Tornado-IDE (WindRiver), OptoLyzer4MOST, CANoe, Continuus/CM (CM Synergy Release 6.2), javac, javadoc, jar, awk, make Duration: 23 MM

[06/1999 – 07/2001] OO Development in Embedded System Application (HU) Development of Automotive Multimedia SW: - MOST architecture (Media Oriented Systems Transport), OO Design (C++, Design Patterns) - Requirements analysis, development of MOST NetworkMaster and Test (via simulation SW) - Initialization, setup and dynamic management of MOST devices (using State pattern) - Development of Presentation Layer Applications using MVC architecture (Model/View/Controller)

Role: Developer (Architecture / Design / Implementation / Test) Machines: IBM-PC, SH-3 (Hitachi Super-H) Operating Systems: Windows NT, VxWorks IDE & Tools: Visual Studio 6.0, Together++, Tornado-IDE (WindRiver), OptoLyzer4MOST, MKS Source Integrity, GNU C-Compiler (gcc), Win32 SDK Duration: 25 MM

Farzad Safa, Willy-Brandt-Str. 6a, 76275 Ettlingen +49 (0)151 / 514 625 17 www.systes.de +49 (0)7243 / 94 91 266 [email protected]

Farzad Safa – Record of Projects July 2020 - page 11/11

[11/1991 – 05/1999] Earlier project records

Detailed project descriptions can be provided on request.

Farzad Safa, Willy-Brandt-Str. 6a, 76275 Ettlingen +49 (0)151 / 514 625 17 www.systes.de +49 (0)7243 / 94 91 266 [email protected]