DdC Resume

DENNIS DE CHAMPEAUX

Contact:
(408) 559 6137 & (408) 981 9109 cell
email: ddcc AT ontooo DOT com

SKILL SUMMARY:

Specials: EJB, Servlets, Case tools, development process & metrics, etc.
Tools: Websphere, Visio, Rational Rose, ParadigmPlus, JDK, OrbixWeb (Corba), Informix, etc.
Industries: semiconductor, medical, airline, finance, CASE, insurance, telco, e-sales, etc.
Languages: C, C++, Java, JavaScript, IDL, Tcl/TK, SQL, HTML, VXML, Lisp, etc.
OSs: Win95/NT/WinXP, Unix (HPUX, Solaris, BSDI, Linux), VMS, etc.
Taught Academic Courses: Intro to Computing, Databases, AI, Operating Systems, Design and Analysis of Algorithms, OO Analysis, several programming languages, etc.
Taught Professional Courses: OO Analysis, Java, Servlets, EJBs, etc.

PROFESSIONAL EXPERIENCE:

** OntoOO, San Jose, 2001 May -
HealthCheck in house project
-- Developed a medical diagnostic, web based, decision support tool
-- Constructed a collection of semantic editors to facilitate capturing generic medical knowledge (using servlets that generate Java code)
-- Added a natural language keyword input facility that leverages an automaticly generated medical "encyclopedia"
-- Launched it as: www.HealthCheck4Me.info
-- Added a voice interface using VXML for telephone access

** NewChannel, Redwood City, 2000 September - 2001 May
Director QoS
-- Schema design for Informix's Cloudscape Db
-- Wrote a bundle of Db applications (JDBC/SQL) that ran automaticly and monitored all customers
-- Reported results through email (J2SDKEE1.2)
-- Retro system requirements capture using IEEE-SRS format
-- OOA using Visio
-- More Java servlets
-- Mentored staff

** NewChannel, Redwood City, 1999 December - 2000 August
Consultant
-- NewChannel's system interfaces with webservers and internet browsers and creates different logs with interspersed HTTP (clickstream), applet activations and other proprietary events. Wrote a log analyzer, in Java 1.2, that extracts user sessions, server sessions, sales rep sessions, and numerous other analysis modules
-- Made this into a 3-tier architecture by putting Sun's webserver in front and wrote a family of servlets that interact over a socket with a server version of the log analyzer
-- Modified the log analyzer so that it became a near real time monitor
-- Added email notification for exceptions using the J2SDKEE1.2 enterprise packages
-- Ported the servlets to the JRun webserver
-- Mentored a junior programmer in Javascript

** Blue Cross & Blue Shield, Jackonville FL, 1999 July - November
Consultant/ OO specialist
-- Changed and documented a package - in Java - that provides connectivity - using sockets - between Java clients and Tuxedo servers
-- Wrote encryption module in Java
-- Delivered OOA&D course
-- Consulted with a team regarding servlets
-- Reviewed and evaluated the OO architecture and design patterns of their Contract System
-- Extended the socket connectivity package for the generation of SNMP traps
-- Wrote a client and server in C to replicate a socket transfer error (TCP/IP) on their AIX systems
-- Mentored a junior Java programmer

** Sprint, Dallas TX, 1999 April - June
Course developer and instructor
-- Developed and delivered Java courses: basic Java (with threads), EJB (with session and entity beans), and servlets (with sessions, EJB linkage, etc.); used Websphere, VisualAge (with jdk1.1.7) and Sun's webserver 1.1.3

** PRI Automation, MntView, 1999 March
Consultant/ OO Analyst
-- Elucidated requirements, wrote use cases, developed a vocabulary and produced an OOA model (Rational Rose/ C++) with 90+ classes for a next generation robotic system with extensive internal parallelism
-- Mentored a team in object modeling

** Fireman's Fund, Novato, 1998 November - February
Consultant/ OO Architect
-- Validated OOA model against use cases; developed new use cases; elaborated analysis model using specification-actual design pattern in Rational Rose/UML
-- Coded middle tier components in jdk1.1.6 using VisualAge (30+ classes)
-- Wrote unit and integration tests for selected classes
-- Mentored a team of SW engineers

** Corporate Store, San Jose, 1998 October - January
OO Architect
-- Created a new architecture for their web-based supply-chain system that allows corporations to connect up client and supplier catalogs of arbitrary depth and with automatic order fulfillment of intermediate VARs
-- Used Visio, MS Repository and Rational Rose/Java with UML to capture the OO model
-- Mapped the architecture onto a relational database schema for Sequel Server

** K&A Software, San Jose, 1998 August - September
Course developer and Instructor
-- Developed a Java Course for Threads Used JDK1.2B3 (on Solaris) for code samples illustrating wait, notify, notifyAll and the workarounds to replace stop, suspend, and resume
-- Taught Java Servlet Course Used JDK1.1.6 (on Win95) for code samples illustrating page refresh and redirection, server session tracking and HTML page generation

** Z-Access, Pacifica, 1998 July - August
Architect
-- Wrote an analyser in Refine for Jovial programs to locate identiers used but not initialized
-- Developed a generic architecture for a Y2K repair system exploiting the Refine tool from Reasoning Systems
[Funding collapsed for this startup; I was employee #1]

** TechOne, Oakland, 1998 March - June
Director SW Engineering
-- Redirected the development of an internal OO design tool
-- Constructed a bridge (using CLISP on NT4.0) between Rational Rose's petal files and the in house OOD tool by generating IDL++ (=IDL with custom pragmas that capture semantic nuances in an RR model)
-- Supervised a multi-tier project for the shipping industry using Rational Rose, Java1.1, Orbix and JDBC
-- Supervised a project to extend the OO design tool with "round tripping"
-- Wrote a white paper on an approach for multi-tier applications
-- Constructed a 4-tier, pipelined prototype with GUI applets (using appletviewer) at both ends involving synchronized methods, callbacks, a process being a client as well as a server, using Java (JDK1.1.6) and Corba (OrbixWeb3.0), tie-approach, on Win95

** Sabre Decision Systems, Ft Worth TX, 1997 July - 1998 January
Consultant
-- Mentored a team in OO Analysis and Design. Guided this team for a meta repository project to support the generation of tera byte sized data ware houses
-- Used Rational Rose (JAVA generation on NT4.0) with UML notation
-- Mapped this model onto an Informix IUS schema
-- "Reverse engineered" the analysis model into a 50 page requirements document
-- Wrote a proposal for the division's manager to enhance software development process awareness

** KLA, San Jose, 1997 February - June
Consultant
-- Captured the requirements for a reticle inspection station automatic setup subsystem using the IEEE SRS format yielding a 330 page document

** Kaiser Permanente, Oakland, 1996 December - January
Consultant
-- OO Analysis for a large, multi level, centralized medical call center. Conducted interviews and used Rational Rose and UML notation to represent the high level architecture

** AllTell, San Jose, 1996 August - December
Consultant
-- OO Analysis for a medical workstation as part of a client server architecture. Used ParadigmPlus with OMT and UML notation

** OntoOO, San Jose, 1996 July - September
in house project
-- Ported a Lisp interpreter supporting proto-objects and programmable threads from Pascal into C++ using g++ on BSDI. (This interpreter has a similar functionality as a Java interpreter and uses non-blocking system-in reads)

** KLA, San Jose, 1996 February - July
Consultant
-- OO architecture for a wafer inspection station setup session subsystem. Used Rational Rose for detailing the analysis
-- Delivered an OOA course

** OntoOO, San Jose, 1995 May - November
in house project
-- Analyzed, designed and implemented in C++ (with g++2.6.3 on BSDI2.1) a simulator for an intelligent home heating system. Strict adherence to a defined development process allowed to capture metrics and to demonstrate transformational SW development

** National Semiconductor, Santa Clara, 1995 May - 1996 February
Consultant
-- Constructed an OO architecture for a company wide distributed CAD system. Used Tcl7.4/TK4.0 and its extensions (on Solaris) to prototype spawning of subprocesses with communication over sockets to implement workflows for geograpicaly distributed CAD design teams. (Implementation of this architecture is ongoing)

** McKesson, San Francisco, 1995 February - May
Consultant
-- Assisted the transition to OO, introduced Rational Rose, mentored a team, advised another team, architected an OO financial rebate subsystem, and implemented in C++

** NET, Redwood City, 1994 September
Consultant
-- OO Analysis and Design Professional course

** Library of UC, Berkeley, 1994 May - November
Consultant
-- Developed an architecture, using OO Domain analysis and design, for a client that supports the Z3950 information retrieval protocol for open system interconnection. Used the Rational Rose tool to capture the design (in Booch) and the generation of C++

** Scopus, Emeryville, 1994 May
Consultant
-- Management course for transitioning into OO

Santa Clara University, 1994 - 1995
Adjunct Professor, part-time
-- Taught many OO Analysis courses

** Rational, Santa Clara, 1993 - 1994
Sr SW Consultant
-- Developed OO courses and delivered them to customers

** Hewlett-Packard, Palo Alto, 1986 - 1993
Engineer/Scientist
-- Transferred OO methodology from the research lab to a medical product division; implemented in C++. This resulted in a short initial product development cycle and an even shorter cycle for a follow-on product due to reuse
-- Transferred OO methodology from the research lab to a software engineering division which resulted in an OO analysis prototype tool
-- Developed a proof technique for parallel algorithms
-- Managed a project aimed at the integration of an expert system
shell (HP-RL) and an object-oriented db system (IRIS/OpenDB)
-- Prototyped distributed applications using C and ISIS

San Jose State University, 1986 - 1987
Adjunct Professor, part-time
-- Taught OS courses, Lisp

** ADAC Laboratories, San Jose, 1984 - 1986
Staff Engineer
-- Recommended the acquisition of the Ingress relational DB system, modeled data and designed the logical and physical db, developed two applications for a medical research database, with SQL, including GUI's and added automatic crash recovery using a standby VAX/VMS system
-- Designed and implemented a LISP interpreter in Pascal that supported light-weight threads

** Tulane University, New Orleans LA, 1982 - 1984
Associate Professor
-- Taught courses on Introduction to Computing, Problem Solving, Computer Organization, Databases, Artificial Intelligence, Design and Analysis of Algorithms, Operating Systems and on several programming languages

** University of Amsterdam 1970 - 1982
Researcher in different ranks
-- Received doctorate in Mathematics with thesis titled "Algorithms in Artificial Intelligence"
-- Prototyped and published on heuristic search, automatic deduction and program verification

EDUCATION

University of Amsterdam (PhD and masters) and University of Leiden (bachelor), the Netherlands

NOTE

I am the lead author of Object-Oriented System Development, Addison-Wesley, 1993, which is available on the WWW: read on the WWW

I am the author of Object-Oriented Development Process & Metrics, Prentice Hall, ISBN 0-13-099755-2, 1997. It has, among others, an example that illustrates the gradual transformation of requirements into C++ code

Publications of Dennis de Champeaux