About Me
Hi, my name is Harish Vavilla and I’m a Software Engineer at Collins Aerospace.I have worked at a number of companies gaining teamwork and leadership skills. My Strength is in embedded software development in C, C++, Python and Model Based Software Development in Simulink®
SKILLS & ABILITIES:
Outstanding Individual contributor and an exceptional team member
Proven ability to develop breakthrough solutions in critical program requirements
Strong analytical and problem-solving skills with self-direction and motivation
Good exposure to the entire software development life cycle related to safety-critical embedded applications
Strong familiarity with UNIX, LINUX, QNX and Windows CE based development and testing environment
Sound understanding of Object-Oriented Programming, Design Patterns (Gang of Four), Data Structure and Algorithms, STL Containers, Generic Programming, Concurrent Programming
Sound understanding of Model-Based Software development using Simulink, State flow in terms of Simulation and Code Generation
PROGRAMMING LANGUAGES: C, C++, MATLAB, TCL, Python, UML, VERILOG, VHDL
DESIGN & DEVELOPMENT TOOLS: IBM Clear quest, Eclipse IDE, Subversion, Vector Cast, DOORS, Understanding C, Visual Studio Professional Edition, Tab Studio, QT, VAPS XT, Linux, LynxOS, RTOS, QNX, Tortoise SVN, Perl, Vista (Test Environment), GIT, JIRA, JAMA, MATLAB Simulink 2019a, Beyond Compare, Notepad ++, Crucible, HARVEST, GCC compiler, Code composer studio, WIN32 API, Windows CE, Cygwin, Jenkins, GDB debugger, CANape, CANoe, JTAG debugger, VxWorks, PolySpace, WindRiver Helix Virtualization Platform.
COMMUNICATION PROTOCOLS: CAN, J1939, SPI, UART, I2C, ARINC-661, ARINC-429, ARINC-664, AFDX, ARINC-664, ARINC-653, ARINC-604, Ethernet protocols, TCP/IP, TMAC, WIN32 API, and other embedded protocols
I am most skilled in: C,C++,Python, Data Structures and Algorithms
Projects
R2019b Managing Scope, LifeTime and Ownership of Dynamic Enums owned by SLDD and CL(Command Line)
Industrial ProjectManaging Scope, LifeTime and Ownership of Simulink Dynamic Enums owned by SLDD and CL(Command Line)
Impact of scope, LifeTime, and Ownership during Edit time, Compile-time, and code generation on models that use Data Objects of type Enumerated Data. This also involves Transfer of ownership from Dictionary to CL and few other combinations to ensure there are No Silent Wrong Answers.
Name Conflict Resolution in Model Explorer(ME) for Simulink data objects
Name Conflict resolution of Same Name, Different Name, Combinations in Base Workspace, Model Workspace, and Simulink Data Dictionary. This applies to both Copy-Paste and Cut-Paste in Model Explorer and Model Data Editor.
This also includes Simulink Data Objects such as Simulink.AliasType, Simulink.Bus, Simulink.NumericType, Simulink.Parameter, Simulink.LookupTable, Simulink.Breakpoint, Simulink.Signal and Matlab Variable. This involves testing Models with and without BaseWorkspaceAccess. and Data Dictionaries with Multi-level Hierarchy.
Testing of Rename Reference feature for Models that use Data Objects in Edit time and Canvas View.
The impact is analyzed during the creation of models, During Compilation (Ctrl+D or Update Diagram). Fix This is applicable to variables in Base WorkSpace, Model Workspace, and Data Dictionary and also applies to Model Hierarchy.
RTSA is a Display System Application to tune the Radios on the Aircraft. It uses AFDX communication network and interacts with LRU’s that use ARINC429 protocol.
Aircraft Program : M145, G280,EEJ,MRJ,LJ,PDKAH,DOLPHIN
Architecture : Proline 21, Proline Fusion, EDS.
Languages : Simulink, C, C++, Python, perl.
Interfaces : ETHERNET, A661 protocol, A664 protocol, A429 protocol
RTSA is a display system application with UDP input/output Connections. It communicates to the Graphics server using AFDX network and also receives ARINC661 Events and Notifications from AGS regarding the Tuning information .It transmits ARINC 661 Run time Modifiable Parameters(RMP) to AGS(ARINC Graphics server) and Update the User Interface.It also transmits tuning information related to communication , Navigation and Surveillance Radios as ARINC664 data via AFDX network connection.It also interacts with Input/Output concentrator (IOCs) so that it can transmit and receive information to and from real radios and primary tuners that use ARINC 429 protocol.
The Radios that are controlled by RTSA includes: ADF, NAV, HF, VHF, ATC, SELCAL.
Environment : C, MATLAB, Eclipse, Subversion, Vector Cast, DOORS, Understanding C, Visual C++ Express Edition, VAPS XT.
Tools : Python,Perl, Vista (Test Environment), Eclipse, Subversion, MATLAB Simulink
Experience
Develop Transponder Application for Airbus and Boeing
Developed lower level, derived software requirements from higher level requirements
Develop Transponder applications using C++, Wind River Work Bench and third-party components using DO178C Standards
Develop ARINC 653 Safety Critical partitions using VxWorks RTOS, Board support packages and Wind River Helix Virtualization platform
Develop code for software requirement using MISRA C/C++ coding standard compliance
Perform requirement traceability analysis (Top down, Bottom up) for software requirements
Quality Engineer for Simulink Data Management Team
Participate in processes related to Requirement analysis, Function Design, Architectural design to ensure Quality Standards are met for the new features being developed using Agile Methodology
Provide expert Feedback on the new features developed for Simulink Data Management in aspects of functional behavior and suggest necessary improvements for ease of workflow for customers
Develop integration, unit tests to qualify new features for Simulink Data Management using MATLAB, C, C++, Java
Maintaining Quality standards of existing Simulink data management infrastructure software by fixing bugs and enhancement tasks
Perform Non-Function testing such as Memory, Performance, Availability, Security to ensure no regression
Caterpillar Inc. Peoria, IL,USA (ADITI consulting)
cat.comC++ Embedded Software Engineer
September 2017 - July 2018
Testing and Bug Fixing of Radio Tuning Software application
Develop WIN32 API based C++ Application for Windows CE using C++ 14, QT, CAN, TMAC and GNSS
Participate in Code reviews, Hardening, bug fixing of WIN32 based C++ application using Agile methodology
Develop unit test using Google Tests framework in C++ to qualify the software application
Work Closely with customers regarding the field issues and fix complex software bugs using static code analysis
Rockwell Collins, India Design Center, Hyderabad, India
rtx.comSenior Software Engineer
January 2014 - July 2016
Develop new features and Bug Fixing for Radio Tuning Software application (RTSA)
Developed lower level, derived software requirements from higher level requirements
Developed code for software requirement in C, C++ and MATLAB Simulink as per DO-178B/C Standards
Model-based development (MBD) and testing using Simulink and State flow toolchain
Strong experience in Code instrumentation and Fixing the code as per the Code coverage reports
Provided technical assistance for verification effort of an entire module
Valuable experience on requirement traceability analysis (Top down, Bottom up) for software requirements
Good understanding of Structural coverage analysis, Data coupling, and Control coupling activities
Rockwell Collins, India Design Center, Hyderabad, India
rtx.comAssociate Software Engineer, Software Engineer
July 2011 - December 2013
Testing and Bug Fixing for Radio Tuning Software application (RTSA)
Fixing the code as per the Change request (CR) to match implementation as per the software requirements.
Assisted with developing Python-based HSIT test cases and test procedures from software requirements for different design assurance level (DAL) projects
Developed and Executed test cases based on Structural Coverage Analysis for code coverage
Analyzed software and system requirements per DO-178B/DO-178C guidelines for avionics
Created Change request (CR) with detailed descriptions in case of non-compliance with the requirements
Education
University of Cincinnati
ME Computer Engineering
2016 - 2017
Established in in 1819 as Cincinnati College, University of Cincinnati is the oldest institution of higher education in Cincinnati, and is widely regarded in terms of its influence, reputation, and academic pedigree as a leading university in not just the US but also the world.
During my time at UC, I learnt most of my key skills that have I have taken through my career such as teamwork and working to tight deadlines. I thouroughly enjoyed my time as university and learnt a lot about a healthy work life balance.
I spent a lot of my time honing my skills about Data Structures and Advanced Algorithms.I specialized in Embedded systems especially in Real-Time OS, Scheduling-Algorithms and Safety critical application development in C and C++.
SASTRA University, Tamil Nadu, India
BTech Computer Engineering
2007 - 2011
SASTRA Deemed University started in 1984 in the form of Shanmugha College of Engineering, affiliated to the Bharathidasan University, Trichy. In 2001 it was renamed as Shanmugha Arts, Science, Technology & Research Academy. It was the first institution to get the 'Deemed University status' in Tamil Nadu.
During my time at SASTRA university, I learnt most of my key skills that have I have taken through my career such as teamwork and working to tight deadlines. I thouroughly enjoyed my time as university and learnt a lot about a healthy work life balance.
I spent a lot of my free time as a member of the “Learn to Code” Book Club in C, C++, Python.
A Little More About Me
Alongside my interests in networks and software engineering some of my other interests and hobbies are:
- Reading Books
- Writing Self-Development Articles
- Cooking Authentic Vegetarian recipes
- Travelling around the world