Jonathan A. Pierce
Jungle Creatures, Inc.
240 E. 76th St. Suite 12-B
New York, NY 10021
Home: 212 737-9424
Cell: 917 664-0030
Note: Some web sites cause this resume to be truncated. Please click here to download a full Microsoft
Word version of this resume.
Diversified experience in enterprise architecture, design, best practices, development and technical lead of
smart-client Windows Forms and Windows Presentation Foundation applications and web-based Internet,
Intranet, and Extranet applications and, B2B applications, and object-oriented client server desktop
applications architecture, design, development and project management.
Tools Skills Applications
VS2005 and .NET 2.0 framework, NANT, Architect, Lead Developer, C#, .NET Framework,
CruiseControl for continuous integration, Training, Mentoring of other Continuous Integration, Design
Subversion for source control, FxCop, NCover, MS- developers, Model-View- Patterns, Agile Processes,
Test and NUnit, NDoc , WinFX, Indigo, Windows Presenter (MVP), Service Shared Code Ownership, Code
Communication Foundation, Windows Presentation Oriented Architecture (SOA), Reviews, Stand-ups
Foundation, Windows Workflow Foundation. Web Services, Best Practices,
Java, XML,B2B and .NET technologies including: Application Architecture and Internet, Intranet, Extranet
C#, Windows Forms, J#, Web Services, XML-RPC, Process Design, Network and Web-based Applications
Soap, WS-T, WS-COOR, WS-Security, XQUERY, Security Architecture, Firewall B2B, E-Commerce
SQLX (XMLDB), Web Services, Java Servlets, JDBC, Configuration, Secure Site (SSL)
Enterprise Java Beans (EJB), Messaging Beans, Configuration
Connector API, Java Server Pages (JSP), Applets,
AWT, XML, XSL, DOM, Schema DOM, RMI, J2EE,
Swing, SSL, .NET Framework, EDI, Smart Client
Architecture, Dynamic Deployment
Client / Server Databases: Oracle 9I Release 2, Project Management and Business Reporting and Web-
Sybase 11, SQL Server 7, Store Procedures, Planning Skills including Tasks, Based Document Capture and
Extensive SQL knowledge for tuning queries Resources and Time and Cost Retrieval
Data Modeling skills, UML Estimates
Programming Languages: C#, Java, C++, Pascal, Technical Lead Skills Financial Reporting
LISP, Language Design skills, Common Lisp Object Applications
System Meta-Object Protocol, others
Browser Technologies: Database Design and User Streaming Stock Quotes and
and Handheld devices
Server Side Technologies: Object-Oriented Application Document Management and
Apache Jakarta Tomcat 5, Oracle 9i Internet Design and Programming (Multi- Workflow Applications
Application Server (IAS), IIS, ASP.NET, Web threaded applications)
Tools: Visual Studio .NET, Metrowerks Network Programming TCP/IP Color Imaging and Multimedia
CodeWarrior, Apache Jakarta-Tomcat, Visual (FTP, HTTP, Protocols) Secure and Graphics Client
SourceSafe, Microsoft FrontPage, Others. Communications (SSL) Applications
Multiple Operating Systems Administration Skills: Firewall Achitecture and Electronic Data Interchange
Windows XP, Mac OS, Unix (HPUX) Administration skills (EDI) Processing (Orders,
Cross-Platform Development of Desktop SCSI Driver Development User Management, Security,
Applications, Browser and Photoshop Plug-ins and (Scanners, etc.) Bar Code Administration, Activity
Extensions, QuickTime and Quickdraw GX Recognition Logging
Personal Java Handheld Applications Electronic Data Interchange Object-Oriented Database
(EDI) standards knowledge Implementation, Object-
Oriented language design
Image Compression / Decompression (Group IV Graphics Programming, Image AI / Fuzzy Logic, Expert
Fax TIFF, JPEG) Processing, Manipulation, Systems, Knowledge
Transformation, Page Layout, Acquisition, Inference Engines
Thomson Financial, New York, NY
4/2005 – Present
Architect / Team Lead – Thomson One Next Generation Smart Framework
Architect, design, and lead development of Thomson’s next generation smart client desktop portal product. The Thomson
Smart One Framework is a next generation product designed to replace Thomson’s existing Thick Thomson One product
for hosting and integrating Thomson components. The new framework is written with entirely managed code, is designed
with a service oriented architecture, and adds benefits of better scalability, performance, and user experience.
Define goals, project plan, tasks, resource estimates, and scheduling of development tasks.
Designed and implement a set of cross-framework (thin/thick) platform framework interface APIs to support
communication with component modules to allow context communication, event handling. Links, and UI extension
Designed and implemented adapters to new platform framework interfaces to host legacy ActiveX and .NET controls,
supporting event handling, context translation and management, link execution, etc.
Designed and implemented service contracts and client functionality for consuming services and persisting state for
authentication, authorization, services registry, context translation, preferences, UI state, global context,configuration
Designed new workspaces and user UI state to be stored server side, along with component service definitions.
Decoupled service based functionality into discrete service contracts for authentication, authorization, context translation,
configuration, workspace organization, UI state, and streaming real-time data.
Designed and implemented a new workspace inheritance structure and workspace management allowing user versions of
workspace organization and pages to inherit from shared workspaces defined server side and local editing and
persistence of user customizations.
Designed and implemented pluggable UI interfaces and implementations that includes support for Docking, Menu Bars,
Tool Bars, Status Bars, etc. and includes extension points for components.
Designed and Implemented Themes and White Labeling (Branding), including server side retrieval, and implementations
that are UI vendor and framework (Thin/Thick) neutral.
Designed a strategy for isolating components and their event handling so they run in separate threads, and have minimal
impact on framework responsiveness.
Designed and implemented a strategy for dynamically deploying updated versions of components, and managing
versioning of components.
Designed and implemented support for managing global context, implementing and persisting drill down links, favorites,
workspace layout, UI control and docking state, etc.
Enterprise Architect / Senior Developer
Act as self-managed member of a small team of enterprise architects mentoring other teams across the corporation by
developing shared tools, researching and integrating new technologies, defining and incorporating standards and best
practices through education, recommendation specifications, tool development and architectural review. Acted as liaison
between developers, architects and 3rd parties. Identified any scope issues, possible opportunities for reuse, and
architecture/infrastructure changes. Trained other teams to take advantage of continuous integration, and TRA SDK.
Demonstrated concepts, answered questions, and refactored and wrote code as needed in order to train other teams in
implementing complex reusable core business components . Provided architecture, design, and implementation guidance
to ensure scalability, performance, and efficiency.
Extensive use of agile methodologies including daily stand-ups, regular code reviews, extensive use of design patterns,
refactoring, continuous integration, shared code ownership, pair programming, and unit tests.
Developed an SDK used by all other teams for component development utilizing VS2005 and .NET 2.0 framework, NANT,
CruiseControl for continuous integration, Subversion for source control, FxCop, NCover, MS-Test and NUnit, NDoc, and
automatic email notifications on from build server.
Key SDK technologies included a Model-View-Presenter reference toolkit and a service oriented agent architecture
explicitly separating the UI layer from the service layer via transport independent operation and data contracts. Also
responsible for implementing a set of reference architecture blocks for shared consumption by other teams that provide
support for federated security, authentication and authorization, integration with core services such as logging, etc.
Implemented a gateway API to support shipping various business components in different portals as WebParts, user
controls, etc. with a portal independent event channel for communication context across components. MVP pattern also
allowed sharing of UI and service layer code to provide both Web and Windows Forms smart client implementations
across both InProc and Online dynamically configured transports.
Developed wizards for generating VS solutions and related projects files with recommended settings ensuring a separate
service layer, warnings treated as errors, FxCop verification, code comments, and NDoc generation, unit tests, end-to-
end tests, and code coverage analysis.
Worked with user experience group to define standard styles and control implementations to provide consistency across
corporate wide business components.
Acted as primary contact and developer in a direct relationship with the Microsoft Indigo (WCF) team as part of a
partnership and commitment to ship Thomson products utilizing Indigo technology concurrent with Microsoft’s release of
Received ratings of far exceeds expectations in both years performance appraisal.
Jungle Creatures, Inc., New York, NY - 10/2003 - Present
Principal Architect / Senior Developer / President
As the owner of Jungle Creatures, Inc., I have developed and am currently selling several commercial products for
resale direct to consumers from the Jungle Creatures, Inc. web site that utilize many of the newer .NET, XML, and
B2B technologies. This work is being done in parallel with consulting work for corporate clients mentioned below and
allows me to keep my skill set current, even when my clients are not yet ready to adopt some of the still evolving
technologies and standards into their existing infrastructures.
Decompiler.NETis a large complex C# Windows Forms application that provides .NET developers with a combination
decompiler, obfuscator, and language translator tool for the Microsoft NET environment. It converts MSIL instructions in
compiled .NET assemblies and libraries into high-level optimized readable source code in multiple source languages.
Decompiler.NET works so well that it correctly decompiles and obfuscates itself and runs correctly without any manual
editing required of the generated source code. The source code generated by Decompiler.NET is extremely
understandable, and often better that the original source code since the optimizer in Decompiler.NET is able to merge
and eliminate unnecessary branching, and recognized high level code patterns and statements such as foreach, using
statements, etc. Decompiler.NET is implemented as a C# Smart Client multi-threaded application that takes advantage of
.NET remoting and multiple application domains. Code generated by Decompiler.NET fully supports COM interop and
correctly generates required DLLImport and Marshaling attributes to ensure correct code execution. The optimization and
code model implementations are source language independent. This allows Decompiler.NET to translate code across
.NET source languages while taking advantage of shared optimization algorithms in order to generate great code in any
source language that always executes correctly. Decompiler.NET is highly useful for migrating legacy code to the .NET
environment including java language source code.
XMLModeler is a C# based graphical XML editor that performs real time validation of XML documents according to
their associated XML Schema. XML Schemas are inferred when not provided. This tool is a multi-window graphical data
explorer / editor that allows round-trip editing of any xml document from both file and database data sources. It is
intended to be used as part of a larger package for securely automating B2B business processes using long-running
asynchronous nested and cascading transactions over web services and utilizing Web Service Transactions, Web Service
Coordination, Web Service Security, Business Process Execution Language, etc. It includes a query builder that generates
SQLXML queries for databases and XQuery queries for XML based data sources. XML Schemas are inferred from database
data sources according to database metadata and foreign key relationships. There is also an embedded visual mapping
tool that generates runtime code that maps data across XML schemas as web service activities.
Deploy.NET is a tool for packaging Windows Forms based .NET applications for deployment. Deploy.NET assists
.NET application developers in protecting their proprietary code using encryption technology and shrinks the size of
deployed applications by compressing application components into a single dynamically loaded archive.
JDBC .NET Data Provider
JDBC .NET Data Provider is a .NET data provider implementation written in C# that wraps the java JDBC API. This
allows .NET applications to use the .NET Framework Data Provider API to access databases supported by any
standard JDBC API compliant driver. The implementation uses technology from the J2Sharp implementation below
to link compiled java code into .NET applications.
J2Sharp is a Visual Studio plug-in that allows C# developers to directly link compiled java 2 classes into their .NET
applications. It allows java and compiled java class, and jar files to be added directly to Visual Studio C# projects. At
build time, J2Sharp converts compiled java byte codes to .NET IL code, and maps java library primitives such as
java.lang.String, java.lang.Object, java.lang.Throwable, etc. to their corresponding .NET Framework primitives.
DIAGEO / JOSEPH E. SEAGRAM & SONS, New York, NY 07/1993 – 10/2003
Senior Consultant - Principal Architect / Developer
Responsible for designing and implementing all major Internet and Intranet based client-server applications for the
company in North America. Responsibilities also included reviewing, configuring, and repackaging, and providing
backup application support to outside vendors and operations staff for all externally developed web applications.
For each project, personally performed project requirements analysis, developed detailed technical specifications,
designed application architecture, and developed a detailed project plan identifying specific tasks, task dependencies,
resources required to implement each task, and estimates for cost and duration to complete each task. Managed
allocation of resources, and ensured projects were successfully completed on time. Ensured that solutions were
scalable, provided optimal performance, and were fault-tolerant requiring minimal support and monitoring.
Personally coded, debugged, and tested the entire implementation for the majority of the projects. Worked with
users to gather requirements, and with DBA staff to manage and configure production database environment, and
identify application support issues requiring DBA response.
Most projects required using technologies still evolving, working with beta products from tool vendors, and often
writing required supporting libraries that were not yet available from vendors.
Extranet B2B E-Commerce Web Site (Java)
Worked with senior management to conceive, architect, design, develop, and support a secure Extranet B2B E-
Commerce web site called Web Oasis (https://www.custserv.diageo.com/) that accesses billions of dollars of spirit
and wine orders annually.
Personally wrote the entire application in less than one year using Java technology that was still evolving at the time.
Designed project architecture, provided application design, planned, and implemented all implementation tasks,
database data model design, code, documentation, and application support.
Developed a working prototype in less than one month so that the company could present the concept to their
customers to measure interest level.
This application went into production in 1997and has remained in production since. The original version required me
to write my own custom Servlet container implementation to protect state information since the original Servlet API
did not include session support. Application is installed as an NT service running the Apache Jakarta-Tomcat Servlet
container. Java technology utilized includes Servlet, jdbc, applets, html, frames, XML, XSL, Servlet containers.
Worked with external web hosting company to configure required firewall rules for installing the application in a DMZ
zone and providing required connectivity from the Internet and private Intranet for database access, order delivery,
and performing application maintenance
Distributors, Sales Staff, and Customer Service users securely access an Extranet web site from both the company
private Intranet and the Internet to place orders for all of Seagram’s spirits and wine products. The application also
allows users to review the status of their orders in real-time, both newly placed orders, and orders that have already
been processed. Customers are also able to view and download their invoices, credit memos, and debit memos
online. The server side of the application is implemented as a single Java Servlet that accesses and integrates data
from multiple internal database data sources, both Sybase 11, and Oracle 8i. Reference data shared by multiple
users is cached in static session fields, and refreshed as it expires, to improve performance and memory utilization.
Includes an optional applet based menu system. Users access the application concurrently utilizing separately
spawned threads. Background threads implement scheduled processes that extract orders and catalogs into EDI
format, deliver them to an EDI translator machine, purge expired orders, and close idle database connections. Orders
and Catalogs are formatted as standard EDI formats for delivery to existing pipeline for tracking and processing
orders. A scheduled fault-tolerant background thread delivers order files from within the application via FTP through
a firewall to an EDI translator machine for processing. Each orders is tracked and automatically purged after
processing. Dynamic reports show orders that are lost or late from returning from mainframe processing. Users can
also review and download catalogs of products available to them for ordering in either EDI 832 or tab-delimited file
format. Administrative screens are provided for dynamically creating users and granting and revoking database roles
and access privileges for placing orders, reviewing orders, and reviewing invoices, etc. Users can be assigned access
to specific sales offices, regions, territories, customers, and shipping locations. Administrative screens create actual
database ids, so that DBA staff can review specific user activity in the database. User activity is logged by the
application in the database and the application supports screens for producing dynamic reports showing specific user
activity statistics. Implementation includes a generic table driven document management system that uses shared
code for creating, reviewing, editing, and deleting different document types such as users, orders, and invoices. XML
and XSL are used to separate content from presentation so that presentation styles can be changed dynamically. All
historical orders can be reviewed through the application, including those that were keyed directly into the
mainframe, or sent by customers with EDI hardware. Database replication is used to isolate the application from
other applications in it’s own database instance so the application can be maintained separately.
Invoice Retrieval Replacement Portal (Java, XML, XSL, JSP, JSTL, XPath,
XQuery, SQLX, MySQL, Tomcat 5)
Utilized Java, XML, XSL, XPath, XQuery, SQLX, MySQL, Tomcat 5 technologies to implement a replacement web based
portal for reviewing historical invoices from a standalone server. This system was implemented to provide a snapshot
implementation of legacy documents generated prior to Diageo’s SAP rollout. Invoice documents were converted to XML
files, and displayed with a multi-page XSL stylesheet. The application is implemented as a java servlet hosted by Tomcat
5. Index data is stored in a mySQL database with references to xml data files on disk. The jsp pages build dynamic
queries to locate the matching XML files, and then use Java Standard Tag libraries to transform the retrieved XML files
using a server side XSL stylesheet and return the dynamic response to the user’s web browser.
Document Management / Imaging Acquisition and Review (C++)
Designed and implemented a cross-platform, client/server, Document Management / Imaging System using MacApp
and MFC. Users are able to capture and share documents on a global network and access them from Macintosh and
Windows based desktop computers. Documents are fully indexed and contain associated attachments consisting of
color and b/w compressed images, movies, sound files, or others. Embedded support is provided for decompressing
and displaying attachments captured via high-speed scanner, fax, EDI, or imported via drag-and-drop. Documents
are stored in a Sybase SQL database with references to file attachments on secondary servers accessed via FTP.
Responsibilities included design, coding, testing, documentation, distribution, and support for all software and
hardware. Personally designed and wrote the majority of the code on the Macintosh platform used for Scanning,
Image Retrieval, and Workflow. Coding responsibilities ranged from writing high level user-interface
intensive applications to writing driver level code for SCSI scanners and FTP via TCP/IP. Installed and
configured a Sun Workstation running Solaris with an attached RAID Array and Tape Library to act as a
file server for scanned image files linked by references in the Workflow document database. Installed
Solaris OS and configured necessary shell scripts to ensure the reliability of the image file server and
associated data backups in the datacenter to support network accessibility via TCP/IP from the client
application. Used TCP/IP and FTP protocols within the client side application to initiate and manage
socket connections as a mechanism to retrieve image and attachment files from the RAID attached
storage on the Sun Solaris file server. Configured and installed DNS server to permit client access
lookup of Sun Solaris file server via TCP/IP.
Wrote a subset of Quickdraw GX using standard Quickdraw and integrated it with the MacApp application framework.
Provided an object-based toolkit for writing device independent two-dimensional graphics code complete with nested
2D transformations attached to objects and viewports.
Provided 24-bit and 8-bit color and 1-bit b/w image display and manipulation. Implemented a two-level caching
strategy for managing transformed images. Included a print-preview mode with full image manipulation capabilities
that supported the simultaneous display of multiple images. Supported image printing and a custom page setup
dialog for automatically scaling images to fit on one page. Implemented full AppleScript support for integrating
distinct imaging system components via dynamically compiled AppleScripts. Wrote software compression support for
Group IV and JPEG compression formats and MacBinary file formats. Developed a file import and export capability
for handling image files in various formats. Included support for single and dual fork files in TIFF, JPEG, GIF, BMP
and PICT image formats. Provided full drag-and-drop and clipboard support for attached images and files.
Designed and implemented a scanner driver toolkit for Fujitsu and Bell&Howell scanners. Included logic for using
bar-code recognition to separate documents to provide high speed scanning of large batches without requiring user
intervention. Used SCSI diagnostic tools to diagnose hardware configuration and SCSI bus issues in
order to fully support all scanner capabilities.
Intranet Customer Invoice Retrieval Servlet
Solely designed, developed, and supported a separate Intranet site (Order Billing) for worldwide users to review
customer invoices. Implemented as an NT service running a Servlet built with shared code from the B2B site
described above. The application accesses both Sybase and Oracle databases of customer invoices via jdbc. Utilized
shared code from the B2B site described above, but an alternate security model.
Supported C implementation of a custom table-driven parser for loading mainframe reports and invoices into a
Sybase database for web-based retrieval. Supported Unix scheduled load process for retrieving mainframe files and
parsing and loading mainframe data.
Web Based Document Management System
Solely designed, developed, and supported a separate Intranet site (Reference Table Maintenance) for key users to
maintain database reference table data. This application is implemented a s a server-side Java Servlet configured
against multiple database data sources. Users utilize the tool through their web browser to insert, delete, update,
and modify relational table data through a controlled secured environment. The user interface allows users to
establish references across tables via selection according to foreign key relationships resident in database metadata.
Using dynamic metadata queries, the user interface gains knowledge of allowed data relationships to proactively
assist users in linking relational data while enforcing foreign key constraints. Security is provided using jdbc realm
based authentication against custom user and role based security tables.
Intranet Financial Reporting Servlet
Solely designed, developed, and supported an Intranet site for reviewing and tracking financial reporting data
worldwide called Financial Reporting Network Pipeline (FRN Pipeline). Hundreds of users in different business units
around the world submit financial data and utilize the site to view the processing flow of batches through the
financial analysis systems. Implemented as a Java Servlet installed as an NT service accessing multiple Sybase
databases via jdbc. Implementation includes a generic Servlet framework library for dispatching requests, tracking
state information, and managing database connections to ensure that idle connections are closed. Includes two
custom user interface applets, a Menu applet for menu manipulation, and a generic Graph applet, packaged within
the web application archive (war) file. The Servlet produces dynamic applet tags to allow the graph applet to display
database based batch process flow and time information.
Intranet Streaming Stock Ticker Applet For Corporate Home Page
Solely designed, developed, and supported a streaming Stock Ticker on the corporate Intranet home page accesses
by thousands of concurrent users worldwide. Implementation included a Java applet implemented with AWT for
display and a Java Servlet for caching and minimizing quote requests from the outside data source. The applet
provides continuously updating quotes for company related stock symbols, and detailed stock quote information
through a fault-tolerant background thread that requests data from the Servlet using a URL connection. The Servlet
supports dynamic scheduling of symbols, and uses a background thread to retrieve and cache shared quote data that
is currently being subscribed. The servlet implementation also solves the problem of applet security not allowing
unsigned applets to open connections to machines other that where they were downloaded. Utilized XML with
custom DTD to exchange data with servlet in generic format.
Intranet Scrolling News Applet for Corporate Home Page
Wrote a scrolling applet for displaying news headlines that is used by several Intranet web sites including the
corporate Intranet home page. The Applet dynamically reloads news headlines and URLs from a text file published to
the machine and scrolls them over a supplied background image.
Intranet Scanned Image Retrieval Servlet
Solely designed, developed, and supported a worldwide accessible Intranet site for reviewing scanned image files
called Imaging. Application was written as a Java Servlet installed as an NT service that produced dynamically
generated hierarchical html forms for searching an Oracle database of documents with associated image files and
attachments. Users worldwide utilize the application to search an Oracle database of indexed documents, and
retrieve referenced image files for display within their browser with helper applications and plug-ins. The system was
used worldwide to retrieve and view Invoices scanned by the Accounts Payable department stored as Group IV Fax
B&W and JPG compressed gray-scale images.
Business Report Indexing Service (Java)
Implemented a Java based report indexing process called BusinessReportsAgent that indexes Business Objects
reports provided by Document Agents in the NT file system and produces dynamically generated static html pages
with dynamically produced report links. Implemented as a Java application installed as an NT service that
regenerates static report index pages at scheduled intervals by traversing a dynamically populated report directory in
the local file system.
UK User Human Resources Benefits Site (HRARK) (ASP)
Accepted ownership and support responsibility for a human resources site (HRARK) for UK employees to review
employee benefit information. The application was originally written by an outside vendor using Active Server Pages
(ASP) against a file-based database. Ported the application to use an Oracle database, added additional features
requested by the users, and moved the application into production.
Resource Management Time Tracking Site (ASP)
Accepted ownership and support responsibility for a Time tracking (TimeSolutions) application that allows users to
create projects, resources, and enter timesheet info for tracking costs and producing summary project reports.
Implemented with ASP and store procedures in a SQL Server 7 database. Added additional features requested by the
users, and moved the application into production.
Order Shipment Tracking Site (ASP)
Rewrote and accepted ownership and support responsibilities for a web-based shipment tracking system called
Protrac for reviewing externally supplied order shipment data. This application was originally written by an internal
user using Visual Basic and Active Server Pages (ASP), against a file-based database. Added additional features
requested by the users, and moved the application into production.
North American Users Benefits Site (HRBIN)
A human resources site (HRBIN) for US employees that that review benefit information stored in an Oracle database.
Implemented by vendor as a Java Servlet using ODBC database connection pooling. Provided review, configuration
and repackaging, and backup application support to vendor and operations staff. Assisted operations staff in
installing and supporting the application.
Public Affairs Site
A corporate Public Affairs site that allows employees to volunteer for charitable events and sign-up for training
courses. Implemented by vendor as a Java Servlet using ODBC database connection pooling. Ported the application
to use an Oracle database, accepted ownership and support responsibilities, ported the application to run in the
Jakarta Tomcat Servlet Container, repackaged the application as an NT service, and moved the application into
Sequoya Brand Analysis Site
A marketing brand analysis and forecasting system called Sequoya that uses Active-X controls, Active Server Pages
(ASP) and a SQL Server ODBC data source. Reviewed application with vendor, made recommendations for needed
modifications, installed, and, tested the application. Provide backup application support for vendor and operations
VITRO CORPORATION, INC., Silver Spring, MD 04/1987 - 07/1993
Senior Systems Analyst
Solely designed and developed a fuzzy logic expert system shell for solving classification problems using MacApp and C+
+. Included a direct manipulation graphical interface for dynamically defining classes, and instances. Used membership
functions on slot definitions to provide range information for fuzzy classification. Designed a generic classification
algorithm for matching instances against class definitions. Used fuzzy logic to combine range membership values to rank
Designed and implemented a persistent dynamic object-oriented database entirely in C++. Features included support for
dynamic class redefinition, and changing the class of an instance. Instances are purged and restored based on available
memory. Used a reference counting strategy for implementing garbage collection. Old instances are updated the next
time they are accessed. The object system design and implementation is based on the CLOS Meta-object protocol.
Designed and implemented a language for writing and enforcing constraints on object-oriented databases. Automatically
maintained bi-directional links among instances to support efficient constraint enforcement. Implemented a grammar
driven expression editor for constraint definition. Designed and wrote a constraint compiler and enforcement engine.
Automatically generated English explanations from violated constraints by substituting instances for constraint variables
and combining clauses into infix expressions. Used constraints to extend runtime type checking to restrict users from
entering data or instance relationships into the database, which violates one or more constraints.
Primary software designer on a team of six software developers developing a knowledge acquisition and delivery tool for
performing diagnostic, maintenance, and repair called DIAG. DIAG is implemented in C++ using TCL. Provided tools for
encoding maintenance manuals into on-line hypermedia manuals with traversable object oriented flowcharts. Flowcharts
are captured through scanning, manual entry, or through automatic import and conversion of IGES formatted graphics
files. Included a runtime traversal engine that interactively walks flowcharts and displays associated Hyperlinks to
relevant sections in text, and laserdisc and QuickTime based instructional movies.
Solely designed and implemented a plan-based graphical knowledge acquisition and diagnostic shell called FIX. FIX was
implemented in Common-Lisp on Symbolics workstations. Included a graphical editor for acquiring a structural model of
components being tested and a functional model of associated test and repair knowledge. Designed a custom traversal
engine for walking the test/repair model and suggesting tests. Used constraint links to ensure that tests are run in a
reliable and efficient order without unnecessarily restricting the maintenance technician.
LISP MACHINES, Inc., Cambridge, MA 07/1986-04/1987
Technical Support Representative
Provided technical support to the sales force of one of the vendors leading the field in Lisp based hardware and
software. Trained clients in use of software products, installed system and application software, demonstrated
software, and consulted with clients for application development.
JAYCOR CORPORATION, INC., Alexandria, VA 06/1984-07/1986
Contracted to Navy Center for Applied Research in Artificial Intelligence (NRL) to provide graphical tools for
knowledge acquisition during expert system design. Implemented object-oriented programming extensions to
Common Lisp on Lisp Machines that supported runtime class redefinition and method combination.
B.S., Computer Science, University of Maryland, College Park, MD May, 1984
Pierce, J. A., and J. Lubell. (1992) “Adding Constraints To Object Oriented Databases,” Proc. Symposium and
Exhibition on Artificial Intelligence Applications for Acquisition, Logistics, and Personnel Management, Williamsburg,
Pierce, J A., and J. Lubell. (1990). “Constraints in CLOS—A Proposal for Discussion,” Proc. Third CLOS Users and
Implementers Workshop, Ottawa, Canada;
Pierce, J. A., and J. Lubell. (1990). “Some Useful Extensions to CLOS,” Proc. of the Third CLOS Users and
Implementers Workshop, Ottawa, Canada;
Pierce, J. A., L. L. Rodi, and R. E. Dalton. (1988). “Interactive Knowledge Acquisition for Fault Isolation and Repair.”
Proceedings of the Fourth Conference. on Artificial. Intelligence. Applications., (CAIA) San Diego, CA;
Rodi, L. L., J. A. Pierce, and R. E. Dalton. (1990). “Graphical Knowledge Acquisition for Fault Isolation and Repair,
“in Readings in Knowledge Acquisition: Current Practices and Trends, McGraw and Westphal (eds.), Ellis Horwood
Rodi, L. L., J. A. Pierce, and R. E. Dalton. (1989). “Putting The Expert In Charge: Graphical Knowledge Acquisition
For Fault Diagnosis And Repair.” ACM SIGART Newsletter.
Rodi, L. L., J. A. Pierce, and R. E. Dalton. (1989). “FIX: A Graphical Editing Tool For Creating Fault Isolation Expert
Systems.” Vitro Technical Journal. 7, Number 1, pp. 67-75.
Rodi, L. L., J. A. Pierce, and R. E. Dalton. (1988). “Authoring a Fault Isolation and Repair System with Direct
Manipulation Techniques.” A.I. in Armament Workshop, (AIAA) Ft. Walton Beach, FL.
Available upon request.