`
`XMC Motion Control Component 93-94 History 3.0 History
`
`3.2 Project Evolution with Compumotor Influence
`
`Compumotor was so interested that they proposed to have a meeting with them at their company
`in Rohnert Park, California. On February 3rd and 4th, both Dave and Jay traveled to
`Compumotor and met with Stuart Goodnick, John Stroup, Bob Cook, Joanne Botka, and Kevin
`Holloway. The software model was described on a very general level for we, at ROY-G-BIV
`Corporation, were very concerned with Compumotor’s intentions behind their interest in the
`project. After the general meeting with Compumotor, negotiations began over a non-disclosure
`agreement. During the negotiations with Compumotor over the NDA, Dave compiled the first
`specification for the XMC Motion Control Component software model. To create the first draft,
`catalogs describing most of the main motion functions implemented by each hardware vendor,
`were collected from each of the original eight vendors. Catalogs, from each of the eight
`companies listed above, and the DMC1000.HPPl header file listings from the Micro Encoder
`Project (completed in 1993), were used to define the first set of functions making up the Motion
`Control Application Programming Interface (MCAPI) and the Motion Control Service Provider
`Interface (MCSPI). The overall design of the model was derived by Dave Brown from a mixture
`of ideas originating after reviewing the following software models:
`
`FPS-"PPS”?
`
`Microsoft ODBC and ODBC32
`Microsofi Windows Sockets
`Microsoft TAPI
`Microsoft WOSA/XRT - extensions for Real Time Markets.
`
`Microsoft WOSA/XFS - extensions for Financial Systems.
`General WOSA (Windows Open Service Architecture)
`
`Most of the software models, listed above, existed prior to the creation of the first draft. Final
`drafts for both of the WOSA extension models were released shortly after the first draft of the
`XMC Motion Control Component specification, and ideas derived from these models were
`implemented in the second draft of the software specification. The first draft was completed on
`April 12, 1994. After receiving a signed non-disclosure agreement from Compumotor, the first
`draft of the specification was sent to them and a second meeting was scheduled. At this meeting,
`both Dave and Jay met with Stuart Goodnick, John Stroup, Joanne Botka, Bob Cook, and Mark
`McClung. Mark McClung brought up several key suggestions that were integrated into the
`overall specification one of which was a suggestion to reorganize the interfaces in a more object
`oriented manner. He did not specify any specific interfaces but his input prompted Dave to
`change the interface organization drawn up in the second draft. In addition to the interface
`reorganization, the second draft contained a more detailed description of the overall software
`model, including a description of how remote procedure calls (RPC) would be integrated into the
`model. Also, details on using the model from Visual Basic or Visual Basic for Applications was
`fleshed out. Shortly after the second meeting with Compumotor, a second NDA was drafted with
`the intention of protecting all work ROY-G-BIV performed on the project regardless of the
`suggestions Compumotor made. On May 19, 1994, Stuart Goodnick of Compumotor signed an
`NDA specifying that ROY-G-BIV could use all suggestions made by Compumotor without risk of
`loosing any ownership rights in the project. Compumotor gave these suggestions and eventually
`sent a version of their AT6400 motion control hardware for use by ROY-G-BIV during the
`development of the first phase of the software model.
`
`During the next couple of months the project was delayed for Dave started a new office in White
`Salmon, Washington. Around September 15, 1994 Dave and Marc McClung conversed, via e-
`mail, every month or so and the evolution of the specification began. Most of Marc’s inquiries
`
`' During the work on the Quick Vision Product for Micro Encoder, Inc. ROY-G-BIV Corporation was assigned the right to
`use certain “low-level” modules through the original contract for the work performed by ROY-G-BIV Corporation on the
`project. The main modules making up the driver used to control the Galil DMClOOO motion control hardware, including
`the DMCIOOOHPP header file, are included in this list of “low-level” modules.
`
`
`2/9/95
`ROY-G-BIV Corporation Confidential
`
`ABB Inc.
`
`EXHIBIT 1004
`
` RGBOOO55568
`
`