Thomas Mellman

Seeking opportunities in software systems design and development, with special interest in mobile/internet convergence and embedded, realtime, and distributed systems.
MS Computer Science, Illinois Institute of Technology, June 1994.
BS Information Systems, Southern Illinois University, June 1977.

AT&T Telephony Training, 1989.
AT&T Unix System V Release 4 Operating System Internals and C++ courses.
Windows/NT Programming.
DSET's DSG and CMIP Agent Toolkit Training.
CEI-Europe's Telecommunications Management Network training.
Siemens UMTS, GSM, and EWSD Training.
Long Term Evolution Training.

Natural German (U.S. Citizenship)
Machine C (20+ years), C++, Assembler, Python, Perl, JNI, Java, SQL, Tcl/TK, make, etc.

Nomor Research -> HCL GmbH: 6/08 to 2/18
Position: Software Developer
  • On a customer site (Nokia Siemens Networks),
    I worked on the LTEA demo team, which built Proof-of-Concept implementations of selected LTEA features. We developed a Carrier Aggregation (CA) prototype for the 2011 MWC and a Coordinated Multipoint (CoMP) prototype for the 2012 MWC. We also prototyped NSN's Liquid Radio concept of distributed eNB processing. The CA project achieved downlink transfer rates in excess of 300 Mbs to a single (Aeroflex LTEA) User Equipment device.

    My capacity on the team was mostly test-support development for CA and prototype development for CoMP.

    • The test support development included
      • the implementation of a HARQ listener facility that diverted Transport Blocks from the TM500 test UE and fully decoded them. This was used for diagnostic purposes, particularly before the entire stack was integrated.
      • writing various other tools, for example, for evaluating Sanjole Wavejudge outputs.
      • responsibility for setting up hudson, a Continuous Integration facility, and implementing a unique Hardware Integrated system of driver scripts for the eNB, the TM500, and other devices such as attenuators, to allow a complete, completely automated, data over-the-air CA test cycle.

    • Between MWC projects, I took over and completed a SGW accelerator for the NSN Lte Emulator Core Network software simulator. The Linux-based Lte Emulator normally includes a module implementing the Serving Gateway, however, this approach could not provide throughput required for CA. We re-implemented the SGW on a DSP evaluation board and were able to provide improved throughput.

    • The prototype development included the changes to the PUSCH required to handle Transport Blocks on the primary cell as received from the secondary cell. In particular, this required adjustments for the PHICH as well as the selection and injection of appropriate Transport Blocks for inclusion in the uplink data stream.

  • For Nomor Research's eNodeB application,
    • Originally a Unix and ASN.1 expert, my responsibility has been the design and implementation of everything but L2:
      • RRC (L3), including introduction and utilization of the Open Source ASN.1 Compiler from Lev Walkin.
      • The independently layered and variably multithreaded embedded infrastructure, based on pthreads.
      • The proprietary, platform-independent IPC mechanism, using LTE addressing (i.e. RNTI and Bearer ID) to enhance marketing flexibility.
      • The timing infrastructure, including support for a virtual PHY.
    • Since 2012, a member of a small team continuing development of the eNB stack and EPC infrastructure, from the UE simulation through each of the eNB layers and the MME and P/S-GW.

  • Initial design and development of the uplink scheduler for a (different) MAC implementation.

OSB: 11/07 to 6/08
Position: Software Developer
Developed C/C++ solutions for embedded systems based on the CAN Bus: a prototype dual-service client (FileSystem and VirtualTerminal) and a flash-memory programmer utility. Other tasks:
  • An ISO 11783-aware CAN Bus trace format facility
  • Test scripts for the OSB VirtualTerminal product as well as the CAN Bus Address Claim mechanism.
  • Development of new VirtualTerminal features.
  • Analysis of the control software for the Leguan Bridge-Laying Tank from Krauss-Maffei Wegmann.

Creative Telcom Solutions: 5/06 to 11/07
Position: Entrepreneur
CTS is a registered company that I established to provide mediation systems and support. It had two customers in Southeast Asia. Interface modules for the following Network Elements had been developed and sold by CTS:
  • Siemens MSC
  • Siemens SGSN
  • Nokia MSC
These modules are written in Java, JNI, and C.

CTS developed a provisioning mediation product, for which there is a binding Purchase Order. The pMD supports the following Network Elements:

  • Siemens HLR/AuC (Q3)
  • Alcatel HLR/AuC (X.29)
  • Huawei HLR/AuC
  • Ericsson HLR/AuC

The default of the Purchase Order for the pMD caused a critical cash-flow problem.

Tecways AG (formerly CCS): 1/04 to 5/06 (Munich)
Position: Developer and Project Manager
Developed several new HLR adapters, including for
  • the Siemens Direct Q3 subscriber administration feature, with CMIP over TCP/IP and a new MIB.
  • Ericsson
  • Huawei
  • Nokia

Assumed project management responsibilities for our installed provisioning solution.

Rescued a derailed upgrade to the X.29 subscriber administration product I had completed and rolled-out in my previous employment by CCS.

Tecways AG was sold to an Indian investor, who closed operations in Germany.

Siemens AG: 5/01 to 10/03 (Munich)
Position: Developer (AT)
For the UMTS project "Separation of Control and Transport", performed pre-analysis of H.248 as the basis for Media Gateway Control Functions. Member of the Call Failure Diagnostics Team. Owner of the Cross Office Check and Glare recovery module.

The challenging UMTS development was re-located to Athens, and Siemens is content to maintain the 1980's era technology used in the EWSD.

Chipcard & Communication Systems (Tecways): 9/97 to 5/01 (Munich)
Position: Telecommunication Network Management Developer
Designed and developed a CMIP interface (Q3) to GSM Network Elements. This interface, referred to as IQA (Inverted Q-Adapter), uses the (OSI) Session services of Digital's OSAK API and includes the ROSE, CMIP, and System Management layers. IQA also includes customer-specific modules for retrieval of Alcatel Billing Record files and for executing Siemens Subscriber Administration MML commands on Operation and Maintenance Systems. This latter module includes an SR10 MML parser.

IQA runs at multiple customer sites in three varieties, all based on the same core.

Developed an X.29/X.25 HLR adapter for a C++ mediation platform. Took over and completed the development and project management of the whole provisioning product and worked closely with the Arabian customer to bring the project to a successful conclusion.

Other projects:

  • a file translator application using an inhouse BER (ASN.1) decoder/encoder
  • a TCP/IP client/server application for translating subscriber administration transitions to MML commands
  • Developed an ASN.1 translator for a C++ provisioning platform and maintained a generic CDR class for a data warehousing project.

Left CCS due to concerns about its continuing non-profitability.
Joined Siemens to be on "Ground Floor" of UMTS.

AEG Mobile Communications: 5/96 to 8/97 (Ulm, Germany)
Position: GSM Consultant
Detailed design of GSM Layer 3 Supplementary Services using the SDT case tool. Wrote an ASN.1 compiler in Yacc/Lex to generate tables for a TCAP (SS7) Information Element encoder/decoder. As a member of the Mobile-Network-Layer/Call team, wrote all necessary C code (MN-CC is the call handler between Layer 3 and Man-Machine-Interface). Wrote a C compiler for converting legacy include files to SDL Sorts. Completed the design and implementation of the MN-SS sub-layer.

AEG Mobile Communications jettisoned all its contractors and shortly thereafter ceased to exist.

Motorola CableComm: 7/95 to 5/96 (Arlington Heights, IL)
Position: CMIP Consultant
Member of the Agent team, developing the CMIP network management agent for cable modems. This project uses Atria's ClearCase CASE tool, the Vertex realtime operating system, and DSET's Distributed Systems Generator Agent Toolkit. Developed a number of GDMO-recognition tools using the recognizer I wrote at Motorola WDG (see below).

Project completed. My wife wanted to return to Europe.

Siemens Nixdorf: 10/95 to 1/96 (Rosemont, IL)
Position: Consultant
Ported the UNIX Device Driver I had written previously at SNI to a MIPS platform. This project was performed concurrently with the Motorola Cablecomm assignment (previous entry).

Motorola Wireless Data Group: 8/94 to 7/95 (Bothell, WA)
Position: OSI Consultant
Ported a 7-layer OSI stack to an embedded 68040 system (a CDPD Cellular Mobile Data Base Station). This MDBS is based on the pSOS+ realtime operating system. Maintained a SNMP agent for the base station. Initiated development of the CMIP agent using DSET's Distributed Systems Generator Agent Toolkit. Initiated development of a test manager. This incorporated a GDMO recognizer written in yacc and lex. The CASE tool was CVS.

Project completed. CDPD (and particularly the OSI component) in jeopardy.
Returned to our house in the Chicago Suburbs.

Siemens Nixdorf Info. Systems: 1/91 to 8/94 (Rosemont, IL)
Position: Senior Developer
Responsible for UNIX Device Driver support (SCO and SVR4). Developed a unique HDLC secondary device supporting multiple nodes. The driver is composed of 3 independent layers: MAC (Zilog SCC), link, and Streams.

This solution included state machines for the media/chip access (Zilog SCC) and link layers. A third layer was used for Streams access.

Ported sendmail to a 68000 mail server in a heterogeneous environment with SVR4 and the SNI proprietary "NERV" intercontinental email system. Initiated research into Windows/NT suitability for SNI retail. Ported a client/server application from an SCO platform to Solaris. Developed 2 client/server applications based on Ethernet and Unix IPC.

Developed an interactive system configuration tool for installing a complex multi-tasking, multi-processor UNIX application onto a bare machine. This facility uses the full suite of UNIX-native tools.

Developed a communication layer based on SUN RPC calls to provide transparent inter-host communication in a heterogeneous environment.

(All) projects completed. Steam running out of SNI development in Chicago. Took exciting OSI opportunity in the Pacific Northwest.

R.R. Donnelley Corp.: 10/90 to 1/91 (Lisle, IL)
Position: Consultant
Developed two X-Window/Open Look applications for the printing industry.

Project completed. Finally landed the device driver project at SNI.

Motorola Cellular: 5/90 to 10/90 (Arlington Heights, IL)
Position: Consultant
Ported X.25 layer 3 for a Groupe Speciale Mobile (GSM) cellular base station platform, including development of message-based real-time protocol process and internet-based unit-test apparatus.

AT&T Bell Labs: 4/86 to 5/90 (Naperville, IL)
Position: Consultant
Performed general debugging of ISDN and POTS call processing for the 5e6 "generic" of the 5ESS telephone switch as a member of the Local Area Selective Services development team. Also developed a process management tool in ksh for that project.

Developed the communications module for an OSI-based packet-switched WAN/LAN emulator to facilitate development of the Network Directory Server. Ported the OSI protocol stack to 3b2 computers, including layers 2-5, along with ROSE, ACSE, and ASN.1 Encoding elements.

Maintained graphics tools for AT&T's 68000-based 630 MTG terminal (Multitasking Graphics), including a typesetter simulator. Was instrumental in the establishment of the 630 Application Toolchest mechanism for the development and electronic distribution of graphics-oriented applications.

AT&T jettisoned consultants.

Streeter Richardson: 10/85 to 3/86 (Grayslake, IL)
Position: Contract System Designer
In a fast-paced, short-term rush project, developed multitasking application and system software for weighing moving railroad cars, built on the OS9 operating system; including the system design, implementation of most of the application code, device driver creation, and operating system port.

Development completed. Hardware was delayed. Bell Labs opportunity arose.

Dialogic Systems: 9/83 to 9/85 (Sunnyvale, CA)
Position: Design Engineer
Responsible developer for the TRansfer Agent component of Dialogic's "midframe" satellite computer. TRA performs all system level communications functions with IBM hosts for 68000 based (distributed) simulation of the MVS/TSO programming environment. Also responsible for file system support utilities on Unix-like Dialogic Operating System.

Dialogic Systems (of Sunnyvale) was in a nose-dive and ceased to exist shortly thereafter.
Being disappointed with California, we decided to return to my hometown, where we could buy a house.

Leica: 8/80 to 7/83 (Switzerland)
Position: Microcomputer Programmer
Developed the software for a handheld data collection computer integrating a bubble memory file system, Basic interpreter, software Serial Data Link, surveying applications software (including bubble memory editor), and an NSC800 CPU (Z80 instruction set).

Project completed. (Finally) was able to return home to the U.S. from my first trip abroad.
Goal: get into UNIX.

Qume Corporation: 6/79 to 7/80 (San Jose, CA)
Position: Microcomputer Programmer
Design and development of the controller/communications card for a Daisy Wheel printer-based product utilizing the 8085 CPU.

Project completed. Friends from Europe provided contact for foreign job opportunity.

Itel Corporation: 6/78 to 6/79 (Palo Alto, CA)
Position: Junior Engineer - firmware
Software support for the microcode team. VM systems programming, maintenance. Responsible for completing/maintaining/modifying two microcode assemblers.

Itel ran into financial and legal problems.
It went out of business not long after I left.

Packaging Corp. of America: 12/77 to 6/78 (Evanston, IL)
Position: Technical Support Specialist, Systems
Maintenance of the Datanet communications network, including local and remote station programming, and interfacing with vendors (Honeywell, DEC, AT&T).

I discovered that I could indeed get a job in technical development if I went to California.