`
`Curriculum Vitae of Michael Barr
`Updated September 29, 2014
`
`Summary
`
`Former adjunct professor of computer engineering with degrees in electrical engineering and two decades of
`hands-on software design and programming experience. Author of three books and more than seventy articles
`and papers. Recognized internationally as an expert in the field of embedded software process and architecture.
`Also an MBA founder of three companies. Testifying expert witness in high profile litigation involving a range of
`issues including: patent infringement and validity; software copyright infringement; software quality, e.g., in
`relation to product liability; theft of trade secret source code; and computer security and interception of encrypted
`content. Natural public speaker and educator with more than twenty appearances before judges and juries
`spanning a decade of experience as a testifying expert.
`
`• Programming Languages: C, C++, Java, Visual Basic, assembly (various)
`
`• Processor Families: Microchip PIC, Intel 80x86, Motorola 68k, PowerPC, and others
`
`• Operating Systems: MicroC/OS, VxWorks, OSEK, and RTOSes generally; DOS and Windows; Linux/Unix
`
`• Communication Protocols: RS-232, I2C, SPI, TCP/IP, UDP/IP, ARP/RARP, BOOTP, CEBus, ISDN, CAN
`
`• Application Domains: cable and satellite TV set-top boxes, including DVR and MPEG/DVB technologies;
`medical devices, including pacemakers; debug tools and technologies; automotive electronics; telephony,
`including smartphones; satellite communications; video games; multi-function printers
`
`Barr Group, CTO, Feb 2012 – present
`
`Present Activities
`
`Creator of popular professional training curriculum and courses for embedded software developers,
`including Embedded Software Boot Camp and Embedded Software Training in a Box
`
`Performed engineering design, consulting, and training services for clients in industries ranging from
`consumer electronics to medical products
`
`Executive management for an engineering services firm specializing in the design and development of
`custom embedded computers; clients range from small startups to Fortune 100 firms
`
`(cid:1)
`
`IV 2004
`IPR2014-00310
`
`
`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`Netrino, President, Jan 1999 – Feb 2012
`
`Relevant Past Experiences
`
`Developed software for various products, including safety-critical mechanical systems involving closed-loop
`PID control systems and high volume consumer electronics for digital television
`
`Consulted with and trained engineers and engineering managers and executives at various companies,
`including makers of FDA-regulated medical devices such as pacemakers and implanted defibrillators,
`insulin pumps, and glucose meters
`
`Conducted new product assessments of software development tools for companies introducing products
`such as real-time operating systems and debugging tools into the embedded market
`
`Embedded Systems Design, Technical Editor/Editor-in-Chief/Contributing Editor, Feb 1999 – May 2012
`
`For three and a half years, served as editor-in-chief of this monthly magazine with over 50,000 subscribers,
`supervising editorial staff members and working with authors and columnists to refine their technical
`content to fit subscriber needs
`
`Embedded Systems Conference, Advisory Board Member/Track Chair/Conference Chair, Jan 2001 – Jul 2011
`
`Provided industry viewpoint and observations on emerging and ongoing trends in the marketplace and
`suggest possible new course and panel topics and speakers for future events
`
`Johns Hopkins University, Adjunct Faculty, Winter Session 2012
`
`Taught embedded software architecture to undergraduate students in computer science
`
`University of Maryland, Adjunct Faculty, Sep 2000 – Dec 2002
`
`Taught operating systems design to graduate and undergraduate students in computer engineering
`
`Designed and supervised independent study projects related to real-time embedded software
`
`PropHead Development, Software Architect, Oct 1998 – Jan 1999
`
`Defined the embedded software architecture and detailed design for a satellite TV set-top box joint venture
`between America Online and Hughes Network Systems
`
`TSI TelSys, Principal Software Engineer, Jun 1997 – Sep 1998
`
`Wrote software in Java to convert any valid Java program into synthesizable Verilog hardware
`
`Developed Solaris and Windows NT device drivers for a PCI-based reconfigurable coprocessor card
`
`Led the effort to produce a development and prototyping platform for microSPARC-IIep processor
`
`Designed and implemented a set of software development and debugging tools for designers of applications
`based on reconfigurable computing technology; wrote InstallShield application to distribute it to
`computers running Windows
`
`(cid:1)
`
`(cid:1)
`
`Page 2 of 9
`
`
`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`Hughes Network Systems, Software Engineer, Jun 1994 – May 1997
`
`Developed a Windows NT device driver for a high-speed I/O device on a PCI card
`
`Successfully led a short-term, three-person project to resolve a software problem that had been plaguing
`internally developed test equipment for more than six-months
`
`Coordinated with engineers at Hitachi in Japan to design the middleware interface between home consumer
`electronics over a CEBus network and implemented the same for a high-volume satellite TV set-top box
`
`Ported the VRTX and VxWorks board support packages to multiple custom hardware platforms
`
`Developed an implementation of the UDP/IP protocol stack that included BOOTP, TFTP, and ARP client
`software, requiring just 8-kilobytes of memory—a ten-fold decrease over commercial stacks
`
`Affiliations
`
`Association for Computing Machinery (ACM), Member
`
`Institute for Electrical and Electronic Engineering (IEEE), Member
`
`Phi Kappa Phi National Honor Society, Member
`
`Patents
`
`Awards
`
`Perret, Joseph and Michael Barr. Method of Calibrating a Brake System for Stationary Equipment and Apparatus for
`Doing the Same. U.S. Patent No. 6,976,562
`
`Zeidman, Robert, Daniel Hafeman, and Michael Barr. Method and Apparatus for Synthesizing a Hardware System
`from a Software Description. U.S. Patent No. 7,210,116
`
`Zeidman, Robert, Michael Barr, and Daniel Hafeman. Method and Apparatus for Selecting a Hardware
`Representation from a Software Description. U.S. Patent No. 7,945,879
`
`Honors
`
`Best Paper Award, DesignCon, Jan 1998
`
`(cid:1)
`
`(cid:1)
`
`Page 3 of 9
`
`
`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`Degrees Awarded
`
`Education
`
`Master of Science in Electrical Engineering (MSEE). University of Maryland, May 1997
`
`Bachelor of Science in Electrical Engineering (BSEE). University of Maryland, May 1994
`
`Master of Business Administration (MBA). University of Maryland, Dec 2006
`
`Additional Coursework
`
`Copyright Law (edX online course). Harvard, May 2013
`
`
`Books
`
`Publications
`
`Barr, Michael. Programming Embedded Systems in C and C++. O’Reilly & Associates, 1999.
`
`Ganssle, Jack and Michael Barr. Embedded Systems Dictionary. CMP Books, 2003.
`
`Barr, Michael and Anthony Massa. Programming Embedded Systems with C and GNU Development Tools.
`O’Reilly & Associates, 2006.
`
`Barr, Michael. Embedded C Coding Standard. 1ed: 2009, 2ed: 2013.
`
`Articles and Papers
`
`Barr, Michael and Brian Frank. “Java: Too Much for Your System?,” Embedded Systems Programming,
`May 1997.
`
`Barr, Michael. “Controlling Run-Time Reconfigurable Hardware Designs with Java,” DesignCon, Jan 1998.
`
`Barr, Michael and Jason Steinhorn. “Kaffe, Anyone? Implementing a Java Virtual Machine,” Embedded
`Systems Programming, Feb 1998.
`
`Barr, Michael. “A Reconfigurable Computing Primer,” Multimedia Systems Design, Sep 1998.
`
`Barr, Michael. “A Free Java Virtual Machine for Embedded Systems,” Embedded Systems Conference,
`Nov 1998.
`
`Barr, Michael. “Choosing a Compiler: The Little Things,” Embedded Systems Programming, May 1999.
`
`Barr, Michael. “Programmable Logic: What’s it to Ya?,” Embedded Systems Programming, Jun 1999.
`
`Barr, Michael. “Architecting Embedded Systems for Add-on Software,” Embedded Systems Programming,
`Sep 1999.
`
`Barr, Michael. “IrDA and Bluetooth,” Embedded Systems Programming, Oct 1999.
`
`(cid:1)
`
`(cid:1)
`
`Page 4 of 9
`
`
`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`Barr, Michael. “Checksums,” Embedded Systems Programming, Nov 1999.
`
`Barr, Michael. “Cyclic Redundancy Codes, Part 1,” Embedded Systems Programming, Dec 1999.
`
`Barr, Michael. “Cyclic Redundancy Codes, Part 2,” Embedded Systems Programming, Jan 2000.
`
`Barr, Michael. “Virtual Serial Ports,” Embedded Systems Programming, Feb 2000.
`
`Barr, Michael. “Language Lessons,” Embedded Systems Programming, Mar 2000.
`
`Barr, Michael. “TCP/IP or Not TCP/IP?,” Embedded Systems Programming, Apr 2000.
`
`Barr, Michael. “Calibration,” Embedded Systems Programming, May 2000.
`
`Barr, Michael. “MAC Daddy,” Embedded Systems Programming, Jun 2000.
`
`Barr, Michael. “Address Resolution Protocol,” Embedded Systems Programming, Jul 2000.
`
`Barr, Michael. “Software-Based Memory Testing,” Embedded Systems Programming, Jul 2000.
`
`Barr, Michael. “Internet Working,” Embedded Systems Programming, Sep 2000.
`
`Barr, Michael. “Introduction to Memory Types,” Embedded Systems Programming, May 2001.
`
`Barr, Michael. “K Virtual Machine,” Embedded Systems Conference, Jul 2001.
`
`Barr, Michael. “Java Technology Overview,” Embedded Systems Conference, Sep 2001.
`
`Barr, Michael. “Introduction to Pulse Width Modulation,” Embedded Systems Programming, Sep 2001.
`
`Barr, Michael. “Introduction to Watchdog Timers,” Embedded Systems Programming, Oct 2001.
`
`Brown, Chris and Michael Barr. “Introduction to Endianness,” Embedded Systems Programming, Jan 2002.
`
`Barr, Michael. “Embedded Programming 101,” Embedded Systems Conference, Mar 2002.
`
`Barr, Michael. “Java 2 Micro Edition,” Embedded Systems Conference, Mar 2002.
`
`Barr, Michael. “Preparing Your System for Java,” Embedded Systems Conference, Mar 2002.
`
`Stewart, David and Michael Barr. “Introduction to Rate Monotonic Scheduling,” Embedded Systems
`Programming, Mar 2002.
`
`Kalinsky, David and Michael Barr. “Introduction to Priority Inversion,” Embedded Systems Programming,
`Apr 2002.
`
`Barr, Michael. “Toward a Smaller Java,” Embedded Systems Programming, Jun 2002.
`
`Beal, David and Michael Barr. “Embedded Linux and the Law,” Embedded Systems Programming, Aug 2002.
`
`Barr, Michael. “Introduction to Closed-Loop Control,” Embedded Systems Programming, Aug 2002.
`
`(cid:1)
`
`(cid:1)
`
`Page 5 of 9
`
`
`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`Ball, Stuart and Michael Barr. “Introduction to Counter/Timer Hardware,” Embedded Systems Programming,
`Sep 2002.
`
`Wagner, Brian and Michael Barr. “Introduction to Digital Filters,” Embedded Systems Programming, Dec 2002.
`
`Barr, Michael. “Choosing a Real-Time Operating System,” Embedded Systems Programming, Jan 2003.
`
`Berger, Arnold and Michael Barr. “Introduction to On-Chip Debug,” Embedded Systems Programming,
`Mar 2003.
`
`Labrosse, Jean and Michael Barr. “Introduction to Preemptive Multitasking,” Embedded Systems Programming,
`Apr 2003.
`
`Ball, Stuart and Michael Barr. “Introduction to Timer-Based Measurement,” Embedded Systems Programming,
`Aug 2003.
`
`Barr, Michael. “Fixed-Width Integers in C, C++, and C99,” Embedded Systems Programming, Feb 2004.
`
`Barr, Michael. “Multitasking Alternatives and the Perils of Preemption,” Embedded.com, Sep 2006.
`
`Barr, Michael. “Don’t Believe Everything You Hear About RTOSes,” Embedded.com, Oct 2008.
`
`Barr, Michael. “Bug-Killing Standards for Firmware Coding,” Embedded Systems Design, Apr 2009.
`
`Samek, Miro and Michael Barr. “Event-Driven Programming,” Embedded Systems Conference, Apr 2009.
`
`Barr, Michael. “Embedded C Coding Standards,” Embedded Systems Conference, Apr 2009.
`
`Barr, Michael. “How to Assign Priorities to RTOS Tasks (and Why It Matters),” Embedded Systems
`Conference, Apr 2009.
`
`Barr, Michael. “More Bug-Killing Standards for Firmware Coding,” Embedded Systems Design, May 2009.
`
`Wilk, Michael and Michael Barr. “A Framework for Safe Motion Control Firmware,” RTC Magazine, Jun 2009.
`
`Barr, Michael. “Real Men Program in C,” Embedded Systems Design, Jul/Aug 2009.
`
`Barr, Michael. “Firmware Architecture in Five Easy Steps,” Embedded Systems Design, Sep 2009.
`
`Barr, Michael. “The Lawyers are Coming,” Embedded Systems Design, Dec 2009.
`
`Barr, Michael. “Faulty Code Will Lead to an Era of Firmware-Related Litigation,” Electronic Design, Jan 2010.
`
`Barr, Michael. “Embedded Systems Programmers Worldwide Earn Failing Grades in C,” Embedded Systems
`Design, Jan 2010.
`
`Barr, Michael. “Five Top Causes of Nasty Embedded Software Bugs,” Embedded Systems Design, Apr 2010.
`
`Barr, Michael. “Three Things Every Programmer Should Know About RMA,” Embedded Systems Design,
`Sep 2010.
`
`(cid:1)
`
`(cid:1)
`
`Page 6 of 9
`
`
`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`Barr, Michael. “Five More Top Causes of Nasty Embedded Software Bugs,” Embedded Systems Design,
`Nov 2010.
`
`Barr, Michael. “Catching Copy Cats: Emerging Tools Can Detect Source Code Thievery,“ Law Technology
`News, Nov 2010.
`
`Barr, Michael. “Embedded Software Drives Economic Growth,” Electronic Design, Dec 2010.
`
`Barr, Michael. “Social Networking for Engineers,” Embedded Systems Design, Feb 2011.
`
`Barr, Michael. “Unintended Acceleration and Other Embedded Software Bugs,” Embedded Systems Design,
`Apr 2011.
`
`Barr, Michael. “What Belongs in a Header File,” Embedded Systems Design, May 2011.
`
`Barr, Michael. “How to Enforce Coding Standards Automatically,” Embedded Systems Design, Jul 2011.
`
`Barr, Michael. “Five Dangerous Coding Standard Rules,” Embedded Systems Design, Sep 2011.
`
`Barr, Michael. “Firmware Forensics: Best Practices in Embedded Software Source Code Discovery,”
`Digital Evidence and Electronic Signature Law Review, Volume 8 : 2011.
`
`Barr, Michael. “Best Practices in Embedded Software Source Code Discovery,” Embedded Systems Design,
`Nov 2011.
`
`Barr, Michael. “Combining C’s volatile and const Keywords,” Embedded Systems Design, Feb 2012.
`
`Barr, Michael. “Building Reliable and Secure Embedded Systems,” Embedded Systems Design, Apr 2012.
`
`Barr, Michael. “Trends in Embedded Software Design,” Embedded Systems Design (final issue), May 2012.
`
`Barr, Michael. “Dead Code, the Law, and Unintended Consequences,” Embedded.com, May 2013.
`
`Barr, Michael. “Intellectual Property Protections for Embedded Software: A Primer,” Embedded.com, Jul 2013.
`
`Barr, Michael. “Binary Executable Analysis Techniques for Embedded Systems,” DFI News, Sep 2013.
`
`Blog
`
` Barr Code. Archive available at http://www.embeddedgurus.com/barr-code/. Mar 2001 – present
`
`
`Testimony at U.S. Patent and Trademark Office
`
`Expert Witness
`
`U.S. Patent No. 6,321,331 (ex-parte patent re-exam), U.S. Patent and Trademark Office, 7 Sep 2011
`
`U.S. Patent No. 5,751,736 (ex-parte patent re-exam), U.S. Patent and Trademark Office, 15 Feb 2012
`
`(cid:1)
`
`(cid:1)
`
`Page 7 of 9
`
`
`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`
`Testimony at Jury Trial
`
`DirecTV v. Frye, et. al. (satellite TV piracy), U.S. District Court for South Carolina, 22 Jan 2004
`
`DirecTV v. Crespin (satellite TV piracy), U.S. District Court for Colorado, 28 Jun 2004
`
`DirecTV v. Medina (satellite TV piracy), U.S. District Court for South Carolina, 26 Jul 2004
`
`DirecTV v. Murray, et. al. (satellite TV piracy), U.S. District Court for South Carolina, 11 Aug 2004
`
`Antonick v. Electronic Arts (software copyright), U.S. District Court for Northern California, 11, 15 Jul 2013
`
`Jean Bookout and Estate of Barbara Schwarz v. Toyota Motor Corporation, et. al. (automotive product
`liability), District Court of Oklahoma for Oklahoma County, 14-15 Oct 2013
`
`Testimony at Bench Trial
`
`DirecTV v. Escalona (satellite TV piracy), U.S. District Court for Southern Florida, 2 Feb 2004
`
`DirecTV v. Craft (satellite TV piracy), U.S. District Court for Northern Florida, 6 Apr 2004
`
`DirecTV v. Schaffer (satellite TV piracy), U.S. District Court for Southern Alabama, 17 Jun 2004
`
`DirecTV v. Walsh (satellite TV piracy), U.S. District Court for Middle Pennsylvania, 30 Aug 2004
`
`DirecTV v. Taylor (satellite TV piracy), U.S. District Court for Western Tennessee, 29 Sep 2004
`
`DirecTV v. Norris (satellite TV piracy), U.S. District Court for Southern West Virginia, 25 Jan 2005
`
`DirecTV v. Toler (satellite TV piracy), U.S. District Court for Southern West Virginia, 25 Jan 2005
`
`DirecTV v. Farley (satellite TV piracy), U.S. District Court for Southern West Virginia, 15 Feb 2005
`
`DirecTV v. Karpinsky (satellite TV piracy), U.S. Bankruptcy Court for Eastern Michigan, 25 Apr 2005
`
`DirecTV v. D’Andrea (satellite TV piracy), U.S. District Court for New Jersey, 6, 13 Mar 2006
`
`Videotron, et.al. v. Bell ExpressVu (security of satellite TV), Quebec Superior Court, 8-9, 13 Dec 2011
`
`CCP Systems v. Samsung (software copyright), U.S. District Court for New Jersey, 7 Jul 2014
`
`Testimony at Evidentiary Hearing
`
`DirecTV v. Andino, et. al. (satellite TV piracy), U.S. District Court for Central Florida, 27 Oct 2003
`
`DirecTV v. Nguyen (satellite TV piracy), U.S. District Court for Central Florida, 7 Nov 2003
`
`DirecTV v. Iwan (satellite TV piracy), U.S. District Court for Central Florida, 7 Nov 2003
`
`DirecTV v. Emfinger (satellite TV piracy), U.S. District Court for Central Florida, 7 Nov 2003
`
`(cid:1)
`
`(cid:1)
`
`Page 8 of 9
`
`
`
`Curriculum Vitae of Michael Barr
`
`
`
`Updated September 29, 2014
`
`DirecTV v. Cabral (satellite TV piracy), U.S. District Court for New Mexico, 30 Apr 2004
`
`DirecTV v. Koubicek, et. al. (satellite TV piracy), U.S. District Court for Western Louisiana, 22 Jun 2004
`
`DirecTV v. Fayard, et. al. (satellite TV piracy), U.S. District Court for Middle Louisiana, 1 Dec 2004
`
`Testimony at Deposition
`
`DirecTV v. Laroe, et. al. (satellite TV piracy), U.S. District Court for Colorado, 13 Feb 2004
`
`DirecTV v. Denton, et. al. (satellite TV piracy), U.S. District Court for Northern Georgia, 26 May 2004
`
`DirecTV v. Stoner, et. al. (satellite TV piracy), U.S. District Court for Eastern North Carolina, 27 May 2004
`
`EchoStar v. NDS Group (security of satellite TV), U.S. District Court for Southern Central California, 13 Sep 2007
`
`EchoStar v. NDS Group (security of satellite TV), U.S. District Court for Southern Central California, 1 May 2008
`
`Baxter Healthcare v. Fresenius (software quality), U.S. District Court for Northern California, 1 Jul 2009
`
`Motorola Mobility v. Microsoft (DVR patent infringement), U.S. District Court for Southern Florida, 18 Jul 2011
`
`van Alfen, et. al. v. Toyota Motor Sales (automotive product liability) and Toyota Motor Corp. Unintended
`Acceleration, Marketing, Sales Practices, and Products Liability Litigation MDL 2151 (economic loss),
`U.S. District Court for Southern Central California, 2 Oct 2012
`
`Antonick v. Electronic Arts (videogame software copyright/trade secrets), U.S. District Court for Northern
`California, 27 Nov 2012
`
`SmartPhone Technologies v. Research in Motion, Apple, LG, and AT&T, et. al. (smartphone patent
`infringement), U.S. District Court for Eastern Texas, 15-18 Jan 2013
`
`Estate of Ida Starr St. John v. Toyota Motor Sales, et. al. (automotive product liability), U.S. District Court for
`Southern Central California, 3 Jul 2013
`
`Estate of Guadalupe Alberto v. Toyota Motor Corporation, et. al. (automotive product liability), Circuit Court
`of Michigan for Genesee County, 2 Aug 2013
`
`Jean Bookout and Estate of Barbara Schwarz v. Toyota Motor Corporation, et. al. (automotive product
`liability), District Court of Oklahoma for Oklahoma County, 2 Aug 2013
`
`SmartPhone Technologies v. Huawei (smartphone patent validity), U.S. District Court for Eastern Texas,
`18 Feb 2014
`
`CCP Systems v. Samsung (software copyright), U.S. District Court for New Jersey, 23 May 2014
`
`
`
`
`
`(cid:1)
`
`(cid:1)
`
`Page 9 of 9