FREDERICK P. STLUKA 12 Westgate Court Willing to relocate Sterling, Virginia 22170 Home: (703) 444-2065 Work: (703) 742-7236 (discreetly) OBJECTIVE Seeking position in software development. I greatly enjoy developing tools and user interfaces, but also appreciate any new challenge. EDUCATION 1982 UNIVERSITY OF PENNSYLVANIA, Moore School of Electrical Engineering BSE, Computer Science and Engineering, GPA: 3.6 of 4.0 (Magna cum laude) Thesis: Design and Implementation of a 3D interactive computer graphics package. Design was published in ACM "Computer Graphics" journal, and implementation is currently used for instruction and graphics research at the university. Additional courses: X Window System Programming, Software Engineering with Ada, User Interface Design, Object-Oriented Design, Probability Theory and Petri Nets, Interface Definition Language (IDL) and DIANA, VMS Internals SKILLS Systems: VAX/VMS (internals), Unix (Apollo/Sun), X Window System, IBM PC, IBM VM/CMS, Univac 1100 Languages: Ada, C, Pascal, Fortran, assemblers Tools: Tool development tools: Unix: yacc, lex; VAX: AYACC, ALEX, CDU, MSG Productivity tools: Unix: make, rcs; VAX: MMS, CMS, LSE, SCA Prototyping tools: Unix: awk, sed, csh, sh; VAX: DCL, TPU Testing tools: VAX: DTM, PCA Strengths: My biggest strength is my ability to rapidly learn new systems, teach them to others, and develop working software. While performing assigned tasks, I also make significant unsolicited contributions to the team. On my own initiative, I have developed many tools currently in use throughout SPC and Raytheon: an automated regression test tool, a full- screen text editor, network file transfer mechanisms, configuration management tool interfaces, and generic reusable Ada parts. Also, I am the local expert on VMS and Ada, and to a lesser extent, Unix and C. EXPERIENCE 1987-Present SOFTWARE PRODUCTIVITY CONSORTIUM, Herndon, Virginia Member of a team developing tools to predict performance characteristics of proposed systems. These tools, implemented in Ada using the X Window System on Apollo Unix and VAX/VMS, allow any system to be described graphically or textually as a Petri Net, or textually in an Ada-like syntax. They then model the system mathematically, and report behavioral characteristics like deadlock, throughput, and response time. My contributions: - Participated in requirements analysis, and architecture design. - Member of a 2 man team to write a "point-and-click" graphical editor in Ada and X to support interactive editing of Petri Nets. - Added transient and sensitivity analysis capabilities (developed at a local university) to our steady-state Petri Net analyzer in Ada. - Enhanced autolayout package (developed previously, see below) to do automatic layout of Petri Nets in the graphical editor. - Wrote general purpose Ada packages to provide high level interfaces to menus, accelerator keys, and dialog boxes. Developed for the graphical editor, these are now used throughout the company. - Helped design the YACC-based parser to parse textual annotations entered by the user in the graphical editor. - Factored out system-dependent portions of tools (file access, system calls, etc.) and produced equivalent Unix and VMS versions. - Gave presentations and demos of editor to customers. Previously, member of a team which developed tools for designing large Ada programs. Tools perform "forward engineering" generation of Ada source code from Booch and Buhr-style OOD (Object-Oriented Design) diagrams, and "reverse engineering" generation of OOD diagrams from Ada code. My contributions: - Evaluated existing tools (Adagen, CAEDE, Cadre Teamwork, IDE), and participated in preliminary requirements analysis. - Wrote an interactive graphical editor prototype in Pascal on an Apollo Unix workstation using native graphics packages (GPR, GMR, Dialog), to support editing of OOD diagrams stored in an Interbase relational database. - Used the graphical editor along with prototype tools developed by other team members to complete requirements analysis and design, experimenting with various strategies for integrating OOD graphics and Ada source text, and doing demos to get customer feedback. - Member of a 3 man team to develop Ada bindings to the X Window System, and write a deliverable version of the graphical editor in Ada using X on Apollo Unix and VAX/VMS workstations. - Wrote a generic Ada "autolayout" package to lay out graphs, routing arcs around intervening nodes, and minimizing line crossings. Used this package to automatically lay out diagrams in the editor. 1982-1987 RAYTHEON COMPANY, Sudbury, Massachusetts Technical lead in Ada development of an emulator for a Motorola 68000 operating system. A team of 60 engineers used the emulator, running on our existing VAX/VMS computers, to develop a multi-tasking real-time air traffic control system targeted to the 68000. This eliminated the need to purchase multiple expensive 68000 workstations for development. Member of a team which developed Ada tools in VAX/VMS "C", using Unix YACC and LEX which we ported to VMS. The tools operate on Ada programs, and include: a source code formatter, a McCabe complexity metric, a coding standards checker, and a template-driven report generator capable of generating MIL-STD 2167A style documents. Wrote device drivers in Pascal on IBM PC-DOS for graphics devices (mice, trackballs, keyboards, color displays, plasma panels, etc.) to support their evaluation for use in a proposed air traffic control workstation. Programmed a Raytheon graphics display controller in assembler, to double-buffer and update the cursive display list in real-time as it is used to refresh the screen. Wrote a driver in VAX Pascal for a GKS-based raster graphics workstation.