Computer Sciences Expert Witness

Provides Opinion & Testimony In:

Applications software Architecture Implementation, Software Analysis, Reverse Engineering for software Intellectual Property Disputes,Bioinformatics, Electronic Design Automation, Banking Trading Systems, Digital Cartography, OS Acceptance Test Suites, Simulations, Numerical Ocean Wave Forecasting, Linux Unix Microsoft Systems, C C++, Perl, SQL, HTML, Java languages, Oracle Sybase database schema design, algorithms, relational database RDBMS, graphical user interfaces GUI,


1979 – Present Independent Consultant, Software Development. (1979-1997) President and CEO, Cohen Software Consulting, Inc. (1997 – present)
Expert Witness

  • For the Plaintiff in a copyright infringement case involving software for interacting with ATM machines. Systems both written in Latin America, in Spanish. Languages include Cobol, java, SQL, NDL. Tools used include CodeMatch. Wrote three reports, one declaration; was deposed. (June 2016 – June 2018)
  • For the Defendant in a discrimination case. Investigated Facebook policies with regard to deleting information and messages from an account, effect on other user accounts. Wrote an affidavit. (April 2018)
  • For the Respondent and Counterclaimant in an Arbitration involving non-literal copyright infringement, trade secret misappropriation, and contractual issues. Application area was client’s “brand standards” business (assessing restaurants, stores, etc. for food safety, health, workplace excellence and other issues) and the several systems built for that. Wrote 3 reports and two witness statements. Case settled. (October 2017 – February 2018)
  • For the Plaintiff in a copyright infringement matter involving educational software and web sites. Used CodeMatch and shared libraries analysis. Code in C#, java, C++, php, js, SQL. (September 2016– September 2017)
  • For the Defendant in a trade secret aspect of a larger litigation. Analyzed the defendant’s web sites and the plaintiff’s automated chip testing software to opine on whether one may have been derived from work done on the other. Case settled. (March – May 2016)
  • For the Defendant in a patent infringement matter involving GIS (Geographical Information Systems) and store locator functionality. Read patents and file histories, discussed claim terms in preparing for a Markman brief and hearing. Case settled. (October – November 2015)
  • For the Defendant in a patent matter involving GIS and software to display parcel maps. Wrote a Declaration for the Markman hearing. Case went to IPR. (February 2015 – April 2015)
  • For the Defendants in a contract, copyright, trade secret dispute involving industrial automation software. (November 2015 – April 2016)
  • For the Defendant in a patent infringement matter involving combined geographical and topical search, specifically store locator functionality.
  • Analyzed patent and Defendant’s (java) source code. Wrote rebuttal non-infringement report. Deposed. Case settled. (July 2011 – September 2014)
  • For the Plaintiffs in a matter involving breach of contract, non-literal copyright infringement and trade secret misappropriation. Application area is web based systems for automating and tracking post-discharge calls to hospital patients for follow up. Analyzed systems and documentation, ran CodeMatch on source code sets (C#, .NET, SQL), wrote an expert report and a rebuttal report, was deposed. Case settled. (May 2012 – May 2014)
  • For the Defendants in a copyright infringement matter involving MSSQL stored procedures and php code running against a MySQL DB. Application area is credit/debit card transaction processing. Set up and ran CodeMatch, analyzed source code, wrote a rebuttal report. Case settled. (May 2013 – February 2014)
  • Freitas Tseng and Kaufman LLP, Redwood Shores, CA. For the Plaintiff in a patent dispute in the area of databases and data mining related to how systems are designed to monetize demographic information collected from users via targeted advertising. PTAB ruled claims invalid in IPR. (Oct 2013 – Feb 2014)
  • For the Defendants in a copyright infringement matter. Set up and ran CodeMatch on part of the Defendant’s versus the Plaintiff’s source trees. (May 2013 – January 2014)
  • For the Defendant in a patent infringement matter involving combined geographical and topical search. Analyzed patent and extensive source code sets in multiple languages (python, ruby, C++). Wrote rebuttal non-infringement report. Case settled. (July 2011- October 2013)
  • For the Plaintiff in a copyright infringement matter involving reverse engineering and copying of screens and workflow in a web based application for the appraisal management industry. Analyzed historical screen shots and three demo programs. Wrote Expert Report and Rebuttal Report; was deposed; testified at a JAMS hearing. Case settled. (April – October 2013)
  • For the Defendant in a copyright infringement matter related to tomato processing technology and related financials. Analyzed several sets of
  • Foxpro code from the early to late 1990’s. Case settled. (January – September 2013)
  • For the Plaintiff in a patent infringement suit related to auto-complete technology. Court declared the patent invalid. (March 2013)
  • For the Complainants in a commercial arbitration involving a software development contract and claims of unusability, as well as counterclaims of copyright infringement. Performed CodeMatch analysis, wrote expert report. Case settled. (July 2012 – July 2013)
  • For the Defendants in a trade secret counter claim in a complex multi-party contract dispute. Technology involved municipal tow truck dispatching and management systems. Analyzed purported trade secrets, wrote an Expert Report. Trade secret aspect decided in my clients’ favor in MSJ ruling. (February 2011 – September 2012)
  • For the Defendants in a copyright infringement matter. Technology involved a NASA web site created in HTML and ColdFusion. Analyzed aspects of the web site and rebutted Plaintiff’s experts’ reports. Wrote Expert Report. Case decided in Defendants’ favor in MSJ ruling. (November 2011 – June 2012)
  • For the Defendants in a copyright infringement and contract dispute matter, with counter claims. Technology involved web based systems for managing accounts and credentials of insurance agents and brokers, with customization for individual states. Performed CodeMatch analysis on two large systems (sets of source code in multiple languages), looking for evidence of one being derived from the other. (February – March 2012)
  • Trade secret misappropriation matter, for the Defendants. Application area was electronic bingo games. Educated attorney, analyzed source code, wrote Declarations. (August 2009 – March 2012)
  • Trade secret misappropriation matter, for the Plaintiff. Technology area was Network Management Systems and Element Management Systems for real-time inventory and status of network equipment, including embedded software. Analyzed large amount of java source code, XML and DTD files using CodeMatch to show massive copying. Manual analysis of SQL code and copied web site. Wrote Expert Report. Case settled out of court (February – November 2011)
  • Divorce proceeding, representing wife (the Plaintiff). Assisted financial expert in evaluating technology and marketplace for husband’s software company products. Case resolved. (June 2010 – November 2011)
  • Expert witness for two Defendants in a patent action in the Eastern District of Texas. Analyzed the patent and Linux networking code to argue non-infringement. Wrote Expert Report, was deposed, prepared for trial. Case settled out of court. (October 2010 – May 2011)
  • Expert Witness for the Plaintiff in copyright infringement case involving court rules data sets and software for using/viewing/interacting with the rules. Used CodeMatch to analyze source code. Analyzed a number of court rules data sets (using shell scripts, sed, sort, uniq, and emacs, among other tools). Wrote Expert Report. Case settled out of court. (July – September 2010)
  • Work for the Defendant in a legal malpractice case that includes a software patent case within a case. Code analysis of existing and missing code for significance to the patent. Technology is an automated self-service gasoline pumping system. My line of inquiry was terminated when no new evidence (not already argued in a dismissed rebuttal to a Motion for Summary Judgment in a previous matter) was uncovered. Case still in process. (April 2010 – May 2010)
  • Expert Witness for the Plaintiff in a patent matter involving 11 patents in the area of automated medical diagnosis and treatment advice systems.
  • Analyzed patents and Defendant’s on-line systems and source code, prepared claim charts. Case settled out of court. (August 2009 – May 2010)
  • Expert Witness for the Plaintiff in a wrongful denial of disability benefits case for a computer scientist/software engineer. Wrote expert report. Case settled out of court. (August 2009 – September 2009)
  • Expert Witness for the Defense in a trade secret misappropriation case involving software for chiropractic practice management. Compared MSSQL schemas, stored procedures, views, etc., and C# code. Plaintiffs dropped the action before full discovery. (January 2009 – April 2009)
  • Expert Witness for the Defendant in a software patent complaint and counter suit. Technology area was image processing algorithms for scanned document image cleanup and recognition. Wrote Expert Report. Case settled out of court. (October 2007 – December 2007)
  • Expert Witness for the Plaintiff in a software copyright infringement matter. Technology area is portfolio management and valuation software.
  • Languages are C/C++. Java, PL/SQL; older code in Vax Basic and Visual Basic. Wrote two Expert Affidavits, prepared to testify at trial. Case settled while in trial. (September 2007 – October 2008)
  • Expert witness for the Plaintiff in a software patent dispute involving image processing technologies for biomedical research instrumentation.
  • Complex code analysis. Case settled out of court. (March 2007 – November 2007)
  • Expert witness for the Plaintiff in an arbitration matter involving breach of contract, software plagiarism, copyright infringement and trade secret misappropriation. Wrote Declarations, performed software analysis, wrote two expert reports, deposed twice, testified at the Arbitration hearing.
  • Case ruled in favor of the Plaintiff by the Arbitrator. (November 2006 – April 2007)
  • Expert witness in a patent infringement and trade secret misappropriation matter. Analyzed productions. Case settled out of court. (November 2006 – December 2006)
  • Expert witness for a Defendant in a software trade secret misappropriation and copyright infringement matter. Code and document analysis, preparation of a Declaration. Case settled out of court. (August 2006 – October 2006)
  • Expert witness in a software copyright infringement case involving the Digital Millennium Copyright Act. Code and system analysis, creation of an
  • Expert Report; deposed; testified at trial. Case decided in Plaintiff’s favor by jury trial. (June 2006 – December 2007)
  • Expert Witness in a trade secret misappropriation case. Code analysis, creation of an Expert Report and Rebuttal Report, deposition. Case was settled out of court rather favorably for my client. (May 2005 – November 2005)
  • Expert witness in a software patent infringement case. Code analysis, creation of an Expert Report, deposition. Case was ruled in favor of my client in Summary Judgment. (September 2004 – August 2005)
  • Expert witness in a civil suit involving issues around porting a complex application between operating systems. Expert report, deposition. Case was settled out of court. (September 2004 – September 2005)
  • Expert witness in a class action suit against a large bank accused of overcharging customers. Rendering opinions and describing algorithms for how the Class members and the excess charges may be determined. (October 2003 – November 2003)
  • Expert witness in an alleged com- puter break in and vandalism case. Analysis of system logs and dumps, possible sce- narios. (October 2001 – February 2002)
  • Expert witness consulting in a soft – ware contract dispute. Analyzed an RFP, Proposal and Design Specification for com- pleteness, reasonableness and appropriateness. Case was settled out of court. (June 1998)
  • Expert witness consulting in a high-profile software theft case. Analysis of very large sets of source code looking for plagiarism. (November 1997 – March 1998)

Expert Consultant

  • Expert Consultant for the Plaintiff in a divorce case where one party had created a complex engineering software package and company. Work involved understanding the system, educating my client as to the technology involved, and helping with appropriate discovery requests. (April 2008 – October 2008)
  • Expert consultant in a wrongful termination suit. Repair and analysis of email files and archived home directories, looking for rele- vant documentation. Case was settled out of court. (November 2004 – December 2004)
  • Expert consultant in a trade secret misappropriation case. Contributing to Expert Reports and Declarations, investigation of alleged prior art. (September 2004 – November 2004)
  • Expert consultant in an eCommerce patent infringement suit, including code analysis. (September 2004 – May 2005)
  • Expert witness investigating an ISP’s automatic disconnect policies for dial-in connections for a civil suit. (January 2002 – February 2002)

Technical Consultant

  • BomDiver, San Francisco, CA. Work on developing algorithms for their application (a Bill of Materials management and fulfillment system), writing them up for their patent attorney to file for IP protection.
  • Nortel Networks, Santa Clara, CA. Working on new algorithms and architectures for provisioning high speed optical networks in support of scientific Grid Computing. The networks are 10 Gbit/sec per wavelength (DWDM); the issues are moving terabytes and petabytes of data in a timely and reliable manner. Funded by DARPA and in collaboration with the International Center for Advanced Internet Research at Northwestern University, we are exploring new approaches for managing, scheduling, and optimizing such Grid Services in theory and in prototype. Language is Java, environment is Linux and Windows XP; Globus Toolkit 3, OGSA, OGSI, ant, etc.
  • SurroMed, Mountain View, CA. Worked on software for display and analysis of very high resolution 2-dimensional Mass Spectrometry data for proteomics and metabolomics applications, specifically biomarker discovery and utilization as a prognostic tool. Code unpacks proprietary vendor’s format data, applies mass corrections, deisotoping, compression to 1 – 2 % of original data size, normalization of multiple spectra for comparisons, display of results, and export of statistics to SAS and spreadsheets. Environment was Windows2000/Microsoft Developer’s Studio, and Linux/GNU tools, C++, STL. This software provides the basis for the Surromed’s main product and services.
  • Incyte Genomics (formerly Incyte Pharmaceuticals), Palo Alto, CA. Worked on por- tions of a semi-automatic DNA sequencing system, including definitions for exten- sions to the Standard Gel File format (SGF); work on algorithm design and implemen- tation in bringing a weak DNA signal out of a noisy multi-channel image; work in algorithm design and implementation for lane tracking within that image; and creation of various false-color diagnostic GIF images of the original, signal-processed, and lane tracked data, to enhance understanding of the nature of the data and the work- ings of the algorithms. Environment was Sun UltraSparc, Solaris, C (gcc and xxgdb), and the gd library for GIF creation.
  • Working on the Chromatogram Archive project, a suite of Perl scripts and C pro- grams to manage and process about 13 million chromatograms of human, mamma- lian, plant, and pathogen expressed gene sequences, as part of a larger project to reanalyze all of Incyte’s proprietary human sequences and a large number of public domain sequences (LifeSeq Gold). This archive includes several terabytes of data. Developed an Oracle database to manage and index this archive as well as make retrieval of specific data fast and simple. Developed a suite of software tools to allow loading of this DB and the assembly and delivery of both small and very large sets of the archived data to customers. Environment was OSF1, Solaris, Oracle Pro*C.
  • LifeSeq Gold: Involved in schema design for both in-house production DB and for the DB to be released to customers. Designed and implemented the Annotation pro- gram (using public domain databases to understand the assembled proprietary puta- tive genes). Also working on the software development and release environment for multi-platform porting. Environment is Sun Enterprise servers and desktop worksta- tions, DEC Alphas, SGI Octane, Linux and SCO desktops, Perl 5.0, C (gcc and xxgdb), and Oracle, including Pro*C and SQL*Plus. Documentation is in HTML on internal web pages. Development environment was RCS, TCCS, gmake and various scripting languages.
  • IGP (“The Incyte Genome Project”): Involved in various aspects of this project to ingest the entire public domain human DNA sequence set as well as the Incyte-proprietary genome sequence data, screen it, and apply gene finding and annotation techniques to it. This project encompasses Incyte’s LifeTools database and software with Genomic Enhancements, the LifeSeq Gold data, and the highly efficient distributed processing system described immediately following.
    The Brewery and the Farm: Co-architect and implementor of a system for using coarse-grained parallelism of tasks to distribute them to a farm of client machines (compute servers) of varying sizes, capacities, speeds, and architectures. An Oracle database and a client-side pull manager are the central features of this load-balanc- ing, throughput-enhancing system, essential for the success of LifeSeq Gold and the IGP bimonthly deliveries.
  • Installed, set up, and administered TCCS (Trivial Configuration Control System) for a complex multi-user, multi-platform development environment.
  • Developed GNUMakefile’s and scripts, user and internal documentation.
  • Foundation Project: A next generation database and dataflow architecture for annotation and gene finding in the entire human genome, combining public domain and proprietary data. Participated in the dataflow and database architecture and design. Designed and implemented an XML parser for genomic data and the database loader program, created for speed and efficiency in processing millions of cDNA sequences and gigabytes of gDNA information. Oracle/Pro*C/C, SQL*Plus, HTML documentation.
  • Aspect Development, Mountain View, CA. Programmed custom database interface trigger procedures as per client needs for the Enterprise Consulting organization. Use of C++, Oracle SQL*Plus and Pro*C on SunOS, as well as Aspect’s Explore CMS tool.
  • Canon Information Systems, Palo Alto, CA. Architect and technical lead for a PC-based product involving the World Wide Web and Canon’s line of color printers.
  • For WeatherNews, Sunnyvale, CA, user-interface design and implementation for a Voyage Summary Report application. Multiple editable popups of voyage, ship, and weather data; interaction with a Sybase database and various remote compute serv- ers. Participatory design involved the end-user community. Implementation in C, X11R5/Motif, Postscript, SQL, on Sun workstations under Solaris 5.4. Contributed to the schema design and architectural issues, supervised junior programmers.
  • Chief software architect and implementor for PetroSoft, Inc., San Jose, CA of an X/ Motif package for oil well log and core analysis using rock physics analytics. This start-up company was a spin-off of Stanford’s Rock and Borehole project whose pro- totype stage was funded by a consortium of oil companies. Environment was Sun Sparc, Unix, X11/R5, Motif.
  • On-going support of Map Production software for ETAK Inc., Menlo Park, CA. Work involved maintenance, bug fixing, and enhancing existing software; planning exten- sions to the Zero-Track database and all the software that creates it; providing techni- cal guidance for other software engineers and Product Managers involved with the data products; and providing tools to characterize the contents of databases in several formats.
  • Environment was C on VAX/VMS, Unix platforms, and DOS.
  • For Abbott Diagnostics, Mountain View, CA, integrated divergent software versions and added diagnostic capabilities to a package for sending information packets between DOS machines via a high speed serial link (HSSL), as well as stand-alone graphical and ASCII analyzers of this information. Context was a blood analysis machine, language was C.
  • For LSI Logic, Milpitas, CA, designed and implemented a clock tree analysis pro- gram which parsed several ASCII layout and technology files, calculated time delays and skews for multi-level clock trees using an RC-tree approximation, reported statis- tics at all levels of the tree, and created
  • Spice decks for the four extremal nets as well as any single net the user might select. Environment was Sun Sparc, Unix, and C.
  • Designed and implemented a CAD Framework Initiative (CFI) procedural interface to the EDI database (which is based on EDIF, the Electronic Design Interchange For- mat), for Engineering DataXpress, San Jose. Extended the functionality of the EDI procedural interface to support this project, including implementing a schematic to net list translator. Computers used were 386-based PC’s under DOS, and an Apollo DN3000 under AEGIS; language was C.
  • For the Therapeutic Products Division, Diasonics, Milpitas, CA, I implemented a number of software enhancements to their Therasonic Lithotripsy System, including software support for Reflex Transmission Imaging (RTI). This involved designing and implementing the user interface and image processing algorithms, and devising how to insert this new functionality into the existing software system. I worked with hard- ware designers and technicians to debug the interaction of the new hardware with the new software. Computer used was a Sun-3 workstation for development and the tar- get medical electronic hardware for debugging; language was C.
  • Designed, developed and debugged a Files-11 and an RMS-11 file system under DOS for Nikon Precision, Inc., San Bruno, CA. This DOS software, using a supplied device driver, can read and write Files-11 floppies (PDP-11 and VAX native file sys- tems). The RMS-11 portion can read and write DEC Record Management System databases with a particular key/index type and data organization, including fetching a record by key, updating, deleting, and adding new records, as well as appropriately manipulating the index structures. Computers used were PC-AT clones; language was Microsoft C.
  • Wrote and verified a POSIX Conformance Test Suite for Mindcraft, Inc., Palo Alto, CA, under contract to IBM. Analyzed the POSIX specification and proposed correc- tions and additions to the IEEE assertion list corresponding to it. Also worked on test suites for validating conformance to the X/Open Procedure Guide and to AIX. Com- puters used were IBM RT’s under AIX and IBM AT’s under XENIX; languages were C and sh (Bourne shell programming language).
  • Evaluated a gate array placement software system (algorithms, data structures, code) for Integrated CMOS Systems, and presented an upward evolutionary path to handle bigger and more complex arrays with on-board RAM and function blocks. Computer used was Amdahl 580 under VM/CMS; language was PL/I.
  • Conducted studies of software system development tasks for OCEANROUTES. Extended extant software packages and developed new ones for vessel response and downtime simulations and for spectral wave forecasting and hindcasting systems. Also developed a spectral wave forecasting system for the west coast of Australia and the Indian Ocean, and completely revised the North Sea/North Atlantic model system. Developed software packages to plot maps and two and three dimensional spectral data on a Versatec printer/plotter. Computers used were Data General Eclipse S330 under AOS, and IBM 4361 under VM/CMS.
  • Designed and developed FORTRAN multi-tasking interactive demonstration pack- age for ROLM Computer Marketing Group, implementable on all ROLM computers (1602B, 1603A, 1650, 1664, 1666, MSE/30).
  • Designed a simulation of an automated warehouse and material handling system for a proposal to the U.S. Army, for STRATAGM Corporation.

1995 – 1997 Senior Member of the Technical Staff, TIBCO Inc., Palo Alto, CA

  • Technical lead of a group of 5 engineers on an oil company asset management and trading system. Managed relations with the client’s technical staff.
  • Enhanced the Sybase schema and X11/Motif interface and did maintenance pro- gramming.
  • Designed and implemented a configurable report layout language, including a lex/ yacc parser and an interpreter of the parsed code. Negotiated features of the lan- guage with the client.
  • Development environment included SunOS, C, X11/Motif, lex, yacc, Sybase and TIBCO-specific tools.

1993 – 1995 Staff Engineer, Quickturn Design Systems, Mountain View, CA

  • Group leader for parsers group, responsible for all Enterprise, Mars, and Quest product netlist parsers (Verilog, TEGAS and variants, EDIF, BDLS, etc.).
  • Trouble shooting, performance enhancement and bug fixing for the Enterprise prod- uct’s netlist database and the several parsers that feed it.
  • Likewise for the Mars and Quest software products.
  • Design and implementation of a Verilog front-end for the Quest product, including X11/Motif GUI (using TeleUse), using an object-oriented database
  • (Objectivity) and an Oryx grammar front-end. Managed relationship with third-party supplier of front-end tools used in the Verilog import program.
  • Design and implementation of an incremental import capability (ECO) using a com- mon software layer for all import programs.
  • Languages used were ANSI C and C++ on SPARC-10’s; tools include Purify, Quan- tify and ObjectCenter. Code was also ported to Solaris and to RS6000’s and HP9000’s.

1992 – 1993 Project Lead, ViP RunTime Group, Zycad Corporation

  • Project leader of a group of 5 engineers writing the run-time support software for a hardware VHDL behavioral simulator. This includes design partitioning among multiple processors per board and multiple boards per simulator, symbol table creation and manipulation, downloading of the simulation code and the run-time kernel to the target hardware, text and file i/o support, and support for debugging (breakpoints, trace, browsing).
  • Responsible for the Browser subsystem. Work involved coordination with the compiler and hardware groups at Zycad, as well as with our partner companies (including Synopsis, Cadence, Dazix, Vantage, and others) who provide the simulation front end to ViP software. ViP (VHDL Instruction
  • Processor) was a new product, introduced at DAC 92. Development environment was Sun Sparcs, Unix, ANSI C (gcc), as well as Mips for embedded code. Host side software will also be ported to RS6000, HP/Apollo, and other engineering workstations.

1990 -1992 Principal Software Engineer, FXD/Telerate

  • Designed and implemented the second generation DealMaker product, a workstation-based graphical tool for Foreign Exchange traders to enter their deals and to maintain their positions in the various currencies in which they deal. Other functions are maintenance of real-time exchange rates, credit limits, and other financial information. Computing environment was C under UNIX with X-windows and Motif as the graphical user interface, on SPARCstations and IBM RS6000’s, using the Sybase RDBMS system.
  • Developed a graphical user interface (X-Windows/Motif) to an analytics package and instrument history database, providing simple user control over the creation of new transformed (filtered) instruments, their real-time tracking, summary information, and their deletion. This package allows financial analysts to define and save time histories and analyses of any available quantities of interest.
    Worked on graphical (X-Windows/Motif) and algorithmic extensions to the quoteList application, which allows users to configure a window displaying real-time information on the fields of interest of particular record based instruments, and to set up alert/ alarm conditions when these values cross some bound.

1986 – 1990 Senior Software Engineer, ETAK

  • Was codesigner and sole implementor of ETAK’s “Zero-Track” database format for CD-ROM and workstation applications, including Geocoding, Navigation, and Fleet Management Systems applications. This highly compressed (roughly 20 to 1 over the source data) database format is designed for speed of access in real-time applications in CPU and memory constrained environments.
  • Created a high resolution workstation and interactive editor for cartographic applica- tions. Hardware was based on an IBM-AT clone (under both MS-DOS and several versions of UNIX) with a high resolution graphics card and terminal, using a VAX (under VMS) as a high speed file server.
  • Software included VAX communication, user interface, algorithms, graphics, and database design. Language used was C.
  • Wrote the low level graphics driver software and the upper application levels for the graphics applications. The device driver was written in C under MS-DOS using a shared (dual ported) memory model.
  • Worked on data integrity programs for the cartographic database (both topological integrity and internal database integrity). Worked on various transformation and com- pression programs for the cartographic database, taking it from the format used for data entry to the format used in the digital cassette tapes and CD-ROM in the ETAK Navigator and Map WorkStation. Extended the capabilities of these systems.
  • Enhanced HP plotting software to deal with new features in the database.
  • Participated in the design and implementation of the second generation digital carto- graphic system (MapEngine), including an interactive graphics editor. Provided cus- tomer support related to OEM programming using the MapEngine.
  • Ported a large set of VAX/VMS programs to run under XENIX on a 386-based PC and under UNIX on a Sun 386i workstation. This work involved emulating and/or replacing VAX RMS indexed files and writing code that would conditionally compile and run efficiently and correctly on all three platforms.

1982 – 1987 Senior Software Engineer and Group Leader, DAISY Systems Corporation

Algorithm design, implementation, and documentation for the Gatemaster project. This involved providing software (and graphical) tools for the LSI and VLSI design engineer to go from the schematic to actual component layout and interpin routing on gate arrays.
Designed a text syntax for presenting gate array connectivity and layout information from the Gatemaster data base to chip manufacturers, helped negotiate its accep – tance by a major semiconductor company, and implemented the program (MAKE) which interrogates the data base and produces the file. Also worked on intercomputer communications protocols for the data transfer process and debugging the entire sys- tem from front to back.
Created and implemented a tool which increased the success rate of the automatic routers for gate array net interconnections. This tool not only significantly increased the number and fraction of nets routable to completion but also immediately indicated unroutable chips before any time is spent trying to route them, thus saving the design engineer many hours of wasted labor.
Worked on an automatic/interactive placement tool for gate array layout based on a force relaxation model for constructive initial placement. Adapted it from some models in the literature, designed its interface with the user and with the Gatemaster data base, its internal data structures, and the details of its implementation.
Project leader, designer, and implementor of a placement improvement system for gate arrays based on component interchange algorithms with user-selectable metrics and component selection criteria.
Project leader of a group of senior and junior level system analysts addressing the issues of placement on gate arrays (CAD/CAE), providing technical supervision, coor- dination, and training. Informally worked with junior (and new) programmers, doing some technical training and supervision.
Group Leader of a group of several senior level system analysts addressing the issues of hardware acceleration of semi-custom chip component placement algo- rithms, including design and implementation of computationally intensive advanced algorithms to be implemented in microcode, systems embedding, and a user friendly high level interface to the design engineer.
Work in the interactive editor group for a high-level correct-by-construction editor for full custom VLSI chip planning and layout.
Member of a team designing and implementing a layout verification package for full-custom VLSI chips to be integrated with the Chipmaster. Package included electrical rules checking, device and net recognition, layout versus schematic checks, layout parameter extraction, interface to schematic capture systems, SPICE simulator, and digital system simulators; user interface, data structures and algorithms.
Computers used were the Intel Microprocessor Development System for the 8086, and the DAISY Logician (an 8086, 80286, or 80386 based engineering workstation) with MAESTRO and DAISY-DNIX operating systems; languages used were PL/M-86, C, and Metaware PASCAL.

1979 – 1982 Staff Scientist in the Ocean Systems and Sciences Division, ENSCO

Lead investigator in applying passive underwater acoustic detection and estimation procedures to multi-sensor target localization.
Conducted studies on statistical properties of acoustic threat signatures with respect to optimal coherent processing to improve detection and parameter estimation.
Participated in large-scale real-time experiments which led towards very wide area coherent surveillance.
Participated in the design and production of a new surveillance architecture employ- ing time sharing mainframes (PDP-10s), minicomputer control and communications processors (PDP-11/70s), and high speed array processors (AP-120Bs).
Conducted studies on causal measurement space clustering of cross coherence results for acoustic source detection, localization, and tracking.
Constructed a simulation system for generating realistic controlled random signals in noise and used it to investigate several alternative detection techniques, their false alarm statistics, performances, and parameter optimization.
Designed and implemented user-friendly operator interfaces for a number of signal processing modules. Designed and implemented the host-side software for several signal processing modules. These projects involved using multi-process and multi-computer communications systems, partitioning tasks on the minicomputers used to function properly in a heavily overlaid environment, and interacting with programs and data on a hosted array processor.
Used a generalized data base package to implement task specific multi-keyed writ- ers and readers for real-time experiment support and off-line research support.
Technical writing of scientific research papers, final reports, system user manuals, proposals, and presentation of some of these at technical meetings and symposia, and directly to the Government sponsor.
Computers used wer PDP-10 under TENEX, PDP-11/70 under RSX-11M+, FPS AP-120B array processor hosted by the PDP-11/70; languages used were FORTRAN 4, FORTRAN 10, and FORTRAN IV Plus.

1976 – 1979 Project Manager, Research and Development, Environmental Sciences Division, OCEANROUTES

Project Manager for development of spectral wave model for U.S. East Coast, and for in-house quality control program for Alaskan and North Sea spectral wave models.
Designed and implemented a climatological vessel response simulation system, including weather driver and output statistical analysis routines.
Conducted studies on and implemented NYU-type and wave-wave-interaction-type wave science for in-house wave models; wave refraction and shoaling; air-sea tem- perature difference as it affects wave generation; hindcast studies; multi-plate grid systems for large area wave models.
Responsible for computer operating systems and model integrity for Alaskan, North Sea, and East Coast wave models.
Designed and developed a system for the semi-automatic and rapid generation of site-specific spectral wave models and their operating systems.
Created and refined an algorithm for the optimum weather routing of ships.
Supervised student aides and junior programmers on a continuing basis, and groups of programmers on a project basis.
Computers used were GE Time Sharing System, Data General ECLIPSE C/330 under AOS and NOVA 840 under mapped RDOS; languages used were FORTRAN IV and FORTRAN5, and some use of GESIMTEL (a GPSS-like language).

1976 Part-time Instructor of Physics, College of San Mateo

1974 – 1976 Member of the Technical Staff, Computer Sciences Corporation, NASA Ames

Research Center, Moffett Field, CA 94035.

Work involved programming and running real-time simulations of aircraft and guidance systems in a state-of-the-art system with a pilot in the loop, using digital and analog computers, motion, visual, and sound systems; also conducting independent analyses and research to further clarify or upgrade the modeling techniques and software. Computers used were EAI 8400, XDS Sigma 7 and 8; languages used were FORTRAN IV and Xerox Extended FORTRAN IV.

1975 Part-Time Instructor of Astronomy, Continuing Education, Foothill College
Developed and taught lay-level Introductory Solar System Astronomy.

1974 Assistant Professor of Physics, half-time, San Jose State University

Taught a graduate course in Optics and a senior course in Modern Physics and Quantum Mechanics.
Instructor of Physics, half-time, City College of San Francisco, San Francisco, CA 94112. Taught first and second semesters of freshman physics laboratory.

April 1971 Invited speaker, Washington, D. C. meeting of the APS-AAPT, by the Economics Concerns Committee of the American Institute of Physics, on the Arden House Pro- posal.

November 1970 Participant, Northeast Conference on Graduate Education, Arden House, New York, under the auspices of the Commission on College Physics of the NSF.

1967 – 1972 Teaching and Research Assistant, Brandeis University. Taught recitation-problem session classes for several introductory physics courses and an astrophysics survey course. Research involved the study of quantumelectrodynamics and field theory, many-body theory, and gravitation, and their application to the study of condensed matter in the latter stages of stellar evolution.

Summer 1969 Assistant Scientist, AVCO-Everett Research Laboratory. Supervisor, Dr. Lewis Linson. Worked in the Plasma Physics group, assisting Dr. Linson in several calculations.

Summer 1966 Summer Scientist, IBM Components Division. Group leader, Dr. White. Helped design and run several reliability experiments on resistive elements of SLT modules for the M-250 system.


  • 1977 -1982 Graduate work in Statistics, Computer Sciences, and Signal Processing, StanfordUniversity, Palo Alto, CA 94305. Computers used: DECsystem-20 with TOPS-20 for PASCAL programming, and HP-21MX for assembly language programming.
  • February 1974 Ph.D. in Physics, Brandeis University.
    Ph.D. thesis advisor: Professor Silvan S. Schweber.
    Thesis title: The Ring Diagram Approximation and the Polarization Tensor at High Densities in Quantumelectrodynamics and Quantumgravidynamics.
  • 1971 – 1973 Predoctoral Fellow, Racah Institute of Physics, Hebrew University, Jerusalem, Israel.
    Continuing graduate student, Brandeis University.
  • 1966 – 1974 Graduate student, Brandeis University.
  • May 1971 Scholarship to Scuola di Fisica Cosmica, Ettore Majorana School of Physics, Erice, Sicily, Italy, where I was note taker for Dr. M. Ruderman.
  • December 1970 Grant from the NSF to attend the Fifth Texas Symposium on Relativistic Astrophysics, University of Texas at Austin.
  • Summer 1968 Scholarship to the Brandeis University Summer School in Astrophysics and General Relativity, where I was note taker for Dr. C. Misner.
  • June 1968 M.A. in Physics, Brandeis University.
  • 1962 – 1966 City College of New York, New York City 10031; Special Student Program. June 1966 B.S. in Physics, with a minor in Mathematics, cum laude.
  • 1959 – 1962 Bronx High School of Science, New York City.


Professional and Technical Consultants Association American Association for the Advancement of Science Society for Computer Simulation
American Physical Society
Institute of Electrical and Electronic Engineers, Life Senior Member Forensic Expert Witness Association
IEEE – Consultants’ Network of Silicon Valley


California Community College Credential: Astronomy, Physics, and Mathematics.
Certified by S.A.F.E. Corporation in the use of the CodeSuite software analysis tool set in intellectual property litigation.


Who’s Who in America, 45th edition Who’s Who in the West, 21st- 23rd editions
Who’s Who in California, 19th edition Who’s Who of Intellectuals, 9th edition Personalities of the Americas, 1st edition Men of Achievement, 13th-15th editions International Leaders of Achievement (1988)
International Directory of Distinguished Leadership (1989) Five Thousand Personalities of the World, 2nd edition The International Who’s Who of Intellectuals, 8th edition
Who’s Who of Emerging Leaders in America, 2nd and 3rd editions International Who’s Who of Professionals, 1998
The Select Guide to Information Technology Executives, 1998 Strathmore’s Who’s Who Registry (1998-1999)


1972 – 1973 Research grant, Hebrew University, Jerusalem. 1969 – 1972 Research fellowship, Brandeis University.
1967 – 1969 Teaching assistantship, Brandeis University.
1966 – 1969 Recipient, New York State Regents College Teaching Fellowship for Beginning Grad- uate Study.
1962 – 1966 Recipient, New York State Regents Scholarship. Fall 1965 Nominee, Woodrow Wilson Fellowship.
1965 – 1966 Member, Sigma Alpha, honor service society, CCNY.


German and French, simple scientific reading knowledge. Hebrew and Spanish, some speaking and reading knowledge.

Available on full CV

Available on full CV



, , ,