Post Job Free
Sign in

Software Engineer Data

Location:
Yonkers, NY
Posted:
November 17, 2013

Contact this candidate

Resume:

Theodoros Tafoni

SUMMARY

Senior software engineer with extensive experience in programming and

analysis. Excellent problem solving skills. Able to work in a team or

individual environment. Hardworking and dependable professional who helps

customers achieve their goals.

PROFESSIONAL SKILLS

Programming Languages: Java, C/C++

Scripting languages: bash

Operating Systems: Linux (Ubuntu, Red Hat, CentOS), Android

Software: GNU GCC/G++, Eclipse, Android SDK,

Microsoft Visual Studio, Microsoft Office,

Sparc C++ Compiler, Qt 5.4.2, Run Time

Infrastructure (RTI), Code Synthesis (to generate

C++ classes from XSD format), NET-SNMP, axis2,

Tomcat

Standard: Distributed Interactive

Simulation (DIS), High Level Architecture (HLA)

Simple Network Management Protocol

(SNMP) - used for unit tests

Government Clearance: Secret Security Clearance

PROFESSIONAL Science Applications International Corporation, Red Bank,

New Jersey (2005 - 2012), Aberdeen Proving Grounds,

Maryland (2012 - Present)

EXPERIENCE Senior Software Engineer

Design, develop, and integrate software solutions in response to customer's

needs. Participate in experiments demonstrating software veracity.

Maintain development LAN. Contribute to briefings and presentations.

. Currently project deals with Content-Based Mobile Edge Networking

(CBMEN). To share real-time data locally at the tactical edge (e.g. a

squad or platoon) without the need to return to headquarters to

connect to a server and download data, which may be out of date. Our

groups' role is the Mobile System Integrators (MSI). Overall task to

integrate sub-contractors software components onto one solution and

run on a testbed of 30 to 100 SmartPhones. My responsibilities

include: run unit tests to verify software components, integrate

components into common solution (included merging code), wrote Android

unit test program to verify integrated solution, modified and added

code to common solution (both in C++ and Java), written bash scripts

to load software onto the phones.

Working on a 2-man configuration tool to generate configuration files

for installed software using the common solution stated above. The

tool is being written using Java Swing. The configuration file(s)

being generated will be based on which software was installed onto the

phones. The tool will be extensible via plug-ins.

. Participated in Internal Research and Development (IRAD) in a "proof

of concept" study to show upper and lower echelons with different

interface criteria can exchange data. A prototype was developed to

translate data between the domains and make the exchange seamless from

each domain's point of view. Upper echelon used web service

interfaces. Lower echelon used the Army Future Combat System (FCS)

System of Systems Common Operating Environment (SOSCOE).

Responsibilities included developing a GUI client in lower echelon

requesting data from upper echelon, registering a web service with

upper echelon, setting up credentials to the web service to check for

authentication and authorization to use the web service. IRAD was

done entirely in Java. Integration testing was done by the team

members to fix bugs. Demonstrated to customer feasibility exchanging

data between echelons. All work was done using java. Used Java Swing

to develop the GUI.

. Team effort to redesign initial IRAD prototype with more

functionality. Added functionality included a web interface to

start/stop processes, transfer blue location data, and pass weather

imagery. Responsibilities included developing a web service to gather

pass/fail statistics for service requests, developed prototype to pass

weather imagery data as binary data between lower and upper echelons,

and registering new web services with proper credentials for

authentication and authorization. The enhanced functionality

continued to be written in Java. Integration test done by the all team

members to verify functionality and fix bugs. Demonstrated to customer

by participating in an experiment. All work was done in java. Web

services were created using axis 1.4 by generating WSDL and

server/client side of the web service. Deployed web service using

Tomcat.

. Team effort to pass static images and video from upper to lower

echelon. Java Business Integration (JBI) was used to connect various

interfaces into a common independent interface. Responsibilities

included writing an interface to interact with lower echelon,

modifying existing code to add more functionality, and add new

functionality to accommodate new requests for the future. The image

and video functionality was written in C++. The interfacing component

was written in Java. Team tested and debugged problems during

integration.

. Participated in Ft. Dix experiment. Experiment demonstrated streaming

live video from lower echelon to upper echelon over satellite using

SOSCOE for data transmission. An Unmanned Aerial Vehicle was used to

stream the video. Our application resided in both the lower and upper

echelons. The application at the lower echelon received video data

and packetized the data. The data was sent, via SOSCOE, over the

satellite, to the upper echelon. The application at the upper echelon

received the packetized data, reconstructed the video, and played the

video with a video player. During field test, fixed any errors/bugs

found.

. Part of a team developing interface to unmanned vehicles. Responsible

for unmanned ground vehicle (UGV). Wrote interface

S/W in C++ to read command data, reformats the command data, and

transmits to UAV. Interface S/W received commands from user from a

Command & Control system. Command data components were in XSD. Used

CodeSynthesis tool to translate XSD to C++ classes. The actual command

data was transmitted in XML format. Team participated in Ft. Dix

experiment to demonstrate end user able to remotely control vehicles.

The experimented both ground and aerial vehicles were instructed to

perform task without a human component manually guiding the vehicles

to perform tasks.

. Developed a test tool to view log messages generated by various

applications. The test tool is a plug-in to an embedded Linux system.

The tool helps the developers detect errors in the system by viewing

the log messages being generated. The plug-in consists of a GUI to

display messages, text field to enter filter strings to restrict which

log messages to view, a clear button to remove current log messages,

and a pause button to allow users to view a specific log message w/o

the necessity of using the scroll bar to find a log message. The tool

was developed using QT 4.5.2, a graphical C++ toolkit. Tested and

debugged

application by creating test driver to input data and verify tool was

filtering incoming messages correctly.

. Modified open source application to interface for GARMIN GPS for

Linux. Modification was to route the data to a socket as client. The

server side was a gateway to read GPS data and pass the data to a map

application. The display showed location of the node. The gateway was

modified to use multicast to allow multiple gateways to exchange GPS

data and have the map application display both local and

remote nodes. The code was ported to Windows to show platform

independence. Demonstrations showed local and remote nodes displayed

on map applications coming from both Linux and Window machines. The

last phase was to show GPS data transmitted over wireless. Both Linux

and Windows machine were configured to transmit GPS data via wireless.

Demonstration showed local and remote nodes were seen on the map

application. The open source and

gateway application was written in C. Tested and debugged modified by

reading GPS data and parsing the data. Fixed bugs found during

testing of application.

. Developed unit tests using NET-SNMP software tool to validate

numerical and textual information described in a Management

Information Base (MIB). Created a generic MIB file containing all the

data types required (e.g. long, float, string). Both individual and

table representations were included in the MIB. The unit tests

verified the ability to get and set the values for all data types. The

next phase was to modify a current test application using SNMP by

converting the application from using hardcoded values to a

configurable application where it would read a configuration file to

determine what data type will be tested. This allows the customer to

edit a configuration file without the need to request a different test

application for each system with a unique system configuration. The

generated unit tests were in C. The test application was written in

C++. The configuration files were in XML format. The data components

were written in XSD format.

. Participating in an Internal Research and Development (IRAD) in a

"proof of concept" developing applications on Smart Phones running

Android OS. Developed service to display local and remote GPS

locations on map image. Using multicast to distribute node locations.

Developed web service to run server side on platform and client side

to run on both platform and Smart phone. Generated WSDL using

eclipse IDE. Generated java code using axis2. Deployed service on

Tomcat. Using ksoap2 API to develop web client to deploy on Smart

phone running Android OS. Used Android's SQLite to create/update

tables.

. Maintained the development LAN in the lab throughout the some of the

projects. These tasks included installing operating systems, setting

up user accounts, installing any software required for the projects,

setting up NIS for client login, and setting up an NFS partition to

allow users to log into any machine in the lab and have the same

environment.

.

Atlantic Consulting Services, Shrewsbury, New Jersey (2002 - 2005)

Senior Software Engineer

Designed, developed, and integrated software solutions in response to

sponsor are needs. Provided demonstration of solutions to

sponsor. Provided support for on-site experiments.

. Team effort to develop a communications effect server (Any

Level Comms Effect Server - ALCES) application on a Linux

platform. Application simulated real world communication

loss due to distance and terrain (rural, forest, or urban

situations) amongst various radios and satellite links.

Responsibilities included terrain mapping, coordinating

conversions, and networking (TCP, UDP, MULTICAST). ALCES

was developed as a multi- threaded application to handle

many tasks such as receiving data, processing data, and

transmitting data. The project was completely written in

C++ with noted exceptions below.

. Responsibilities included: ALCES could read both single and multi-

celled terrain databases. Implemented "sniffer" mode to read and log

messages without processing the data. Implemented feature to store

terrain classification in a text file. This reduced processing

terrain classification for each subsequent simulation run after the

initial terrain classification process. Implemented a Distributed

Interactive Simulation (DIS) interface to interact with other

applications using the DIS interface.

. Converted MATLAB modules to their 'C' equivalent. This cut down

complex algorithm processing time from hours to minutes. Designed and

developed a DIS test driver to test and verify the DIS interface used

by ALCES. Test application was written in C. Participated in

implementing a HLA (High Level Architecture) interface to allow the

application to participate with simulations using the HLA interface.

Interface was written in C++.

. Provided customer on-site support during experiments.

Responsibilities included monitoring ALCES application, solving

interface issues, making code modifications, and fixing bugs that

occurred.

The MITRE Corporation, Eatontown, New Jersey (1995 - 2002)

Senior Software Engineer

Designed, developed, and integrated software solutions in response to

sponsor are needs. Demonstrate solutions to sponsor.

Create scenarios to run on Army simulation system. Prepared and presented

briefings on progress to management.

. Created battle scenario between friendly and enemy units

using Army's Modulated Semi-Automatic Forces (ModSAF)

simulator.Developed and implemented software library for a

Moving Target Indicator (MTI). Library was integrated into

the ModSAF simulator to allow moving vehicles to be

detected by the simulator. The library was written in C.

. Developed and implemented application to allow Maneuver

Control System (MCS), part of Army Battle Command System

(ABCS), to interact with the Eagle simulator. Three major

components were needed to complete task. The task was done

on a Solaris platform.

Responsibilities included:

. Enhanced MCS by developing new GUI interface (using

X/Motif) to allow user to send data outside system's normal

communication channel. Developed a client/server

application written in C. MCS system became the client

that registered with the server. The server was the only

component that communicated with the simulator. Server

transmitted data on behalf of the clients and distributed

data to the clients when data was received.

. Implemented an interface using the Run Time Infrastructure

(RTI). The RTI allowed systems with diverse interfaces to

communicate with each other. This was written in C++. Team

effort to develop an interface between a Battle Plan

Visualization (BPV) system and ModSAF. The BPV received

data from a server written in Java. Contribution was

writing library using

Java Native Interface (JNI) to interface C with Java. The

library allowed data to pass from C environment to Java

environment

Fixed bugs in code during test phase.

. Developed and implemented a Java application prototype to

read data packets from ModSAF. The data was read and

displayed

to the user via a GUI to allow the user to make decisions based on the

information displayed during a battle simulation. Read real data from

ModSAF to verify application was reading data correctly. Fixed any

bugs found during testing.

. Enhanced a Personal Data Assistant (PDA) application to send/receive

data from a C2 simulation running on a PDA. Implemented the Joint

Variable Message Format (JVMF) library by porting library from

UNIX/Linux to Windows CE environment.

EDUCATION: BS in Electrical Engineering, Cornell University, 1981

ACCOMPLISHMENTS:

Published Articles:

. "A Multisensor DIS Package for an Unmanned Airborne Vehicle", Roberts,

John D., SantaPietro, Dr. John J., Tafoni,

Theodoros, Proc. of the 14th DIS Workshop, 1996

. "The Tactical Internet Model(TIM) Provides Realistic Communications

for Task Force XXI", Stanley Manoski, Jon McConnell, Mark Riehl,

Theodoros Tafoni, and Jeffrey Vogel, Proc. of the 15th DIS Workshop,

1997

Awards:

. Program Recognition Award - Digital Leader Reaction Course Prototype -

1999 The MITRE Corporation

. Director's Distinguished Accomplishment Award - 1999 The MITRE

Corporation

. Certificate of Achievement Award - 2008 SAIC

. Certificate of Achievement Award - 2013 SAIC

5 Andiron Ct Phone: 732-***-****

Howell, New Jersey 07731 E-mail: *******@*********.***



Contact this candidate