** 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 geographically 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
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