Curriculum Vitae
John A. Thywissen, PhD
Education
Ph.D. [Computer Science], The University of Texas at Austin, 2020
Dissertation: Implicitly Distributing Pervasively Concurrent Programs
Master of Science in Computer Science, The University of Texas at Austin, 2015
Minor focus: Philosophy of mathematics
Master of Science in Engineering Management, S.M.U., 2006
Bachelor of Science in Computer Science, University of Kansas, 1992
Other higher education & training
Postgraduate Certificate in Enterprise Management, S.M.U., 2005
Accelerated Development Programme, London Business School, 2001
The University of Texas at Dallas, 2007, Coursework related to decision making and risk
EDS, 1994–2008, 119 courses (707 contact hours) on: management, consulting, software engineering, object-oriented development, networking, and specific technologies
Houston Community College, 1984, Coursework in electrical engineering
Rice University, 1982 & 1983, Coursework in computer science (audit)
Employment
Assistant Instructor, Teaching Assistant, and Graduate Research Assistant; The University of Texas at Austin, Department of Computer Science, Austin, Texas; 2009–2020
Programming languages research with Profs. Chris Rossbach, William Cook, and Jayadev Misra, investigating “computational orchestration” — specifically the model of programming languages and distributed computing embodied by the Orc research programming language and process calculus.
Currently investigating programming-language-enabled transparent distribution of programs.
Built (with colleagues) and currently maintain the Orc research programming language.
Created and maintained the Orc Eclipse integrated development environment plug-in.
Created proof-of-concept implementation of security typing (secure information flow) in Orc.
Formalized an Orc “token semantics” — a form of structural operational semantics.
[See also university-level teaching section below.]
Engineering Graduate Student; Caltech/NASA JPL (Jet Propulsion Laboratory), Pasadena, California; 2015
Research Internship in JPL’s Laboratory for Reliable Software.
Prototyped system for rule-based analysis of spacecraft telemetry. The system is robust to out-of-order and missing data.
Advanced Systems Engineer, Senior Systems Engineer, Project Manager, Senior Programme Manager, and Managing Consultant; EDS [Electronic Data Systems Corp., later merged with HP], Plano, Texas; 1994–2008
Provided technology expertise, advice, and education to business and government clients.
Designed and led development of numerous large software systems.
Directed I.T. projects and programmes as part of contracts valued from $64k to $700M.
Led technology adoption and education for company teams, and acted as “consultant to the consultants” for software engineering practices such as: object oriented development, iterative development, Web systems development, distributed systems, and human-computer interaction.
Technology and management expert for critical project situations: advanced technology introduction, “turnaround” (get out of trouble), and “schedule crash” (faster than reasonable).
Developed project proposals for government and business clients.
Initiated and directed the EDS+University Collaboration Programme.
Diverse set of clients, including: American Airlines, Bank of America, Bell Helicopter, Commonwealth Bank of Australia, eBay, Everest Funeral, GM, National Heritage Insurance Company, Norwegian Cruise Line, Safety-Kleen, U.K. Inland Revenue, U.S. Dept. of Veterans Affairs, U.S. Military Healthcare System, U.S. Postal Service, and United Airlines.
Technical Consultant; COMSYS Technical Services, Inc., Rockville, Maryland; 1992–1994
Reengineered and enhanced digital telecommunications test equipment remote control software. Maintained system’s proprietary windowing system and multitasking executive. Wrote utilities, including field programmable gate array (FPGA) program download.
Provided technical leadership to make prototype U.S. military ID card system feasible within the constraints of its three-tier distributed platform architecture.
Engineering Consultant; Obert Associates, Inc., University Park, Maryland; 1990–1992
Developed fluid dynamics modeling software for:
- Ariane 5 space launch vehicle’s Vulcain engine cryogenic main system feed
- Two-phase flow in various applications (for example, vessel blow-down)
- Naval costal systems center vortex ring project
Prepared engineering project reports for manufacturing, aerospace, and military applications.
Research Assistant; University Research Foundation/Maryland Advanced Development Laboratory, at the U.S. Naval Academy, Annapolis, Maryland; 1989
Developed data acquisition and control software and hardware for vortex ring research project.
Assisted with experimental runs (apparatus construction, data collection, etc.).
Publications
Implicitly Distributing Pervasively Concurrent Programs [dissertation]. The University of Texas at Austin; 2020. doi:10.26153/tsw/12568.
, John A.PorcE: A Deparallelizing Compiler. In: MPLR’19: Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes; 2019 Oct 21–22; Athens, Greece. New York: ACM; 2019. p. 117–130. doi:10.1145/3357390.3361023.
, Arthur Michener; , John A.; , Christopher J.Local Operations Should Appear to Be Remote: Consistent Semantics Enable Transparent Distribution. Paper presented at: SFMA’18: 8th Workshop on Systems for Multi-core and Heterogeneous Architectures; 2018 Apr 23; Porto, Portugal. 2018.
, John A.; , Arthur Michener; , Christopher J.Pitchforc: Concurrent Programming at Rack Scale. Paper presented at: MARS’17: 7th Workshop on Multi-core and Rack Scale Systems; 2017 Apr 23; Belgrade, Serbia. 2017.
, Arthur Michener; , John A.; , William R.; , Christopher J.OrcO: A Concurrency-First Approach to Objects. In: OOPSLA’16: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications; 2016 Oct 30–Nov 4; Amsterdam. ACM; 2016. p. 548–567. doi:10.1145/2983990.2984022.
, Arthur Michener; , David; , John A.; , William R.Implicitly Distributing Pervasively Concurrent Programs [extended abstract]. In: PMLDC’16: Proceedings of the First Workshop on Programming Models and Languages for Distributed Computing; 2016 Jul 17; Rome. ACM; 2016. Article 1. doi:10.1145/2957319.2957370.
, John A.; , Arthur Michener; , William R.http://apps.cs.utexas.edu/tech_reports/reports/tr/TR-2232.pdf.
, John A.; , Arthur Michener; , William R. Implicitly Distributing Pervasively Concurrent Programs. The University of Texas at Austin, Department of Computer Science; 2016 Jul. Regular tech report. Report No.: TR-16-06. Available from:http://apps.cs.utexas.edu/tech_reports/reports/tr/TR-2208.pdf
, Brian; , David; , John A.; , Jayadev. Orc User Guide v2.1.0. The University of Texas at Austin, Department of Computer Science; 2013 Sep 21. 74 p. Report No.: TR-13-23. Available from:http://apps.cs.utexas.edu/tech_reports/reports/tr/TR-2209.pdf
, Brian; , David; , John A.; , Jayadev. Orc Reference Manual v2.1.0. The University of Texas at Austin, Department of Computer Science; 2013 Sep 21. 229 p. Report No.: TR-13-24. Available from:QoS-Aware Management of Monotonic Service Orchestrations. Formal Methods in Systems Design. 2013; 44(1):1–43. ISSN 0925-9856. doi:10.1007/s10703-013-0191-7.
, Albert; , Claude; , Ajay; , Sidney; , John A.Patents
Apparatus and Method for Securing Data in Computer Storage”. US patent 9,002,012. 2015 Apr 7. Int. cl. G06F 21/00. (File encryption and access control without problems of individual file passwords and without the problems of full disk encryption)
, John A. “Determining a Price Premium for a Project”. US patent 8,332,331. 2012 Dec 11. Int. cl. G06Q 99/00. (Converting project risk levels to an equivalent price increment for assuming the risk)
, John A. “Teaching activities
University-level teaching
Assistant Instructor, Computer Science 105: PHP/SQL, Spring 2014, Fall 2014, Fall 2015, & Spring 2016. (Undergraduate, ~27 students.) (Instructor of record.)
Graduate Teaching Assistant, Computer Science 386L: Programming Languages, Spring 2015. (Graduate, 20 students.) (Occasional lectures, office hours, online discussion, grading.)
Graduate Teaching Assistant, Computer Science 347: Data Management, Spring 2013 & Summer 2013. (Upper division undergraduate, 90 & 58 students.) (Office hours, online discussion, grading.)
Graduate Teaching Assistant, Computer Science 380D: Distributed Computing I, Spring 2013. (Graduate, 11 students.) (Discussion section, office hours, online discussion, grading.)
Graduate Teaching Assistant, Computer Science 314: Data Structures, Fall 2012 & Summer 2014. (Lower division undergraduate, 117 & 68 students.) (Discussion sections for 51 & 47 students, office hours, online discussion, grading, course technology development.)
Other teaching and course design
Multimedia and Internet Life Cycle (MILC), USA and UK, 2001 (developed and taught)
Instrument–Airplane (SEL), 2003 (developed)
FAA certified Flight Instructor and Ground Instructor, 2003–present (CFI (ASE), CFII (A), IGI)
Mentoring
EDS, 1994–2008:
- Trained and mentored multiple project teams on transition to object-oriented development, including adoption of use cases, OOA and OOD modeling, pattern-based development, new languages, and associated management practices.
- Mentored and educated organizations on software engineering process impact of Web and new media technologies.
- Introduced and trained product managers to pricing methodologies for IT services.
- Educated and advised client teams on Internet and e-commerce technologies.
Awards, honors, fellowships, and scholarships
Dean's Excellence Award, College of Natural Sciences, The University of Texas at Austin
Teaching Assistant Excellence Award — 2nd place, Department of Computer Science, The University of Texas at Austin
Phi Kappa Phi National Scholastic Honor Society
Outstanding Executive Program Student, S.M.U.
EDS scholarship for S.M.U. Master of Science in Engineering Management degree
National Merit Scholar Semifinalist, National Merit Scholarship Program
Professional activities
Member of the balloting group or revision committee for the following standards:
- IEEE Std. 1003.1, Standard for Information Technology–Portable Operating System Interface (POSIX)
- IEEE Std. 1028, Standard for Software Reviews and Audits
- IEEE Std. 1074, Standard for Developing a Project Software Life Cycle Process
- IEEE Std. 1362 (reaffirmation), Guide for Information Technology–System Definition–Concept of Operations (ConOps) Document
- IEEE/AIAA Std. 1633, Recommended Practice on Software Reliability
- ISO/IEC/IEEE 12207, Systems and Software Engineering–Software Life Cycle Processes
- ISO/IEC/IEEE 15288, Systems and Software Engineering–System Life Cycle Processes
- ISO/IEC/IEEE 15289, Systems and Software Engineering–Content of Systems and Software Life Cycle Process Information Products (Documentation)
- ISO/IEC/IEEE 16326, Software Engineering–Life Cycle Processes–Project Management
- IEEE Std. 90003, Adoption of ISO/IEC 90003, Software Engineering–Guidelines for the Application of ISO 9001:2000 to Computer Software
IEEE, 1985–present, currently Senior Member
- Societies: Computer Society, Communications Society, Standards Association, and TCSE
ACM, 1994–present, currently Lifetime Professional Member
- SIGs: SIGPLAN, SIGSOFT, SIGACT, SIGOPS, SIGCOMM, and SIGCHI
AAAS, 2016–present
Sigma Xi, 2016–present
SIAM, 2010–2015
INFORMS, 2006–2008
Certified Usability Analyst
Institutional service
UT CS Ph.D. Admissions Committee, 2011–2012
UT CS Gates Building Complex Advisory, Space, Groundbreaking, & Furniture Committees, 2010–2013
UT CS GradFest/New Students Committee, 2010–2013
GRACS (UT CS graduate student organization), Executive Committee, 2009–2011
Public service
Young Eagles (Educate 8–17 year-olds about aviation via introductory flights)
EDS volunteer project to introduce children to the workings of computer hardware
Dallas Ramps Project (Construct wheelchair ramps for otherwise homebound people)
Metroplex Technology Business Council (now TechTitans), Innovation Team, 2007–2008
Language skills
- English: Native
- German: Basic to Independent (CEF level A2 to B1)
- Spanish: Basic (CEF level A1)
- Latin: Basic (CEF level A1)