Jonathan A. Pierce.doc
Upcoming SlideShare
Loading in...5
×
 

Jonathan A. Pierce.doc

on

  • 12,048 views

 

Statistics

Views

Total Views
12,048
Views on SlideShare
12,048
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Jonathan A. Pierce.doc Jonathan A. Pierce.doc Document Transcript

  • 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 URL: http://www.junglecreatures.com/ Email: jpierce@nyc.rr.com Note: Some web sites cause this resume to be truncated. Please click here to download a full Microsoft Word version of this resume. BACKGROUND SUMMARY 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. Expertise includes: 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, Design Patterns 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 HTML and DHTML using JavaScript and VBScript Interface Design Trading Front-End for Intranet, 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) Forms, JavaScript, VBScript, Common Gateway Object-Relational Mapping Interface (CGI) 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, Catalogs) 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 Programming 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 Print Preview
  • EXPERIENCE 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 points. 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 properties, etc 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 View slide
  • 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 the technology. 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 http://www.junglecreatures.com/ 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. Products: Decompiler.NET 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, 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. View slide
  • Deploy.NET 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 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. Projects: 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 production 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 staff. 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 matching classes. 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 Systems Analyst 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. EDUCATION B.S., Computer Science, University of Maryland, College Park, MD May, 1984 PUBLICATIONS 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, Va.; 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 Ltd.; 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. REFERENCES Available upon request.