`
`DESIGN SPECIFICATION
`
`Revision:
`Author:
`Date:
`Project:
`Project Location:
`Document Name:
`Description:
`
`Second Draft
`Dave Brown
`Friday, July 1, 1994
`MOT|ON.100
`\\rgbsn/r_2\master\cmpnt
`\doc\des\des_2\design.doc
`" This document describes the software design of the WOSA/XMC MCAPI/MCSPI Motion Control
`software component.
`
`Revision History: 4/15/94 (DB)
`
`- First Draft:
`
`initial writing.
`
`I
`
`7/1/94 (DB)
`
`- Second Draft: Split design offsmall business plan, incorporated suggestions.
`
`ROY-G-BIV Corporation Confidential
`© 1994 ROY-G-BiV Corporation. All rights reserved.
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`Page 1 of 54
`
`ROY-G-BIV CORPORATION
`EXH|B|T 2013-1
`ABB V ROY—G—B|V
`
`TRIAL |PR2013—00074
`
`1
`
`RGB0o0553g5
`
`RAiV_ AMS
`
`Ex. 1018
`
`Page 1 of 54
`
`RA v. AMS
`Ex. 1018
`
`
`
`~ ..
`
`~.
`
`•
`
`•
`
`•
`
`WOSA/XMC MCAPI and MCSPI Design Specification
`
`This is a preliminary release of the documentation. It may be changed substantially prior to final commercial release. This
`document is provided for discussion purposes only in strict confidence and subject to the non-disclosure agreement executed
`between ROY-G-BIV Corporation and Compumotor, a division of Parker Hannifin, dated May 19, 1994.
`
`ROY-G-BIV, WOSAlXMC, MCAPI, and MCSPI are trademarks of ROY-G-BIV Corporation.
`
`Microsoft, Microsoft Visual C++, Microsoft Visual Basic, WIN32, and Microsoft Excel 5.0 are registered trademarks and
`Windows, Windows NT, WIN32s, WIN32c, and OLE are trademarks of Microsoft Corporation.
`
`Borland and Borland C++ are trademarks of Borland International, Inc.
`
`Printed in the United States of America.
`
`ROY -G-BIV Corporation Confidential.
`© 1994 ROY-G-BIV Corporation. All Rights Reserved.
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055897
`
`2
`
`Page 2 of 54
`
`RA v. AMS
`Ex. 1018
`
`
`
`i ,.
`
`"
`,-,'
`
`•
`
`•
`
`•
`
`WOSA/XMC MCAPI and MCSPI Design Specification
`
`Table of Contents
`
`Table of Contents
`
`TABLE OF CONTENTS .............................................................................................................................. i
`
`1.0 OVERVIEW ............................................................................................................................................. 1
`
`1.1 DESIGN GOALS ........................................................................................................................................... 1
`1.2 DEFINITIONS .............................................................................................................................................. .2
`1.3 TARGET PLATFORMS ................................................................................................................................. .3
`1.4 MAJOR CHANGE LiST ................................................................................................................................ .3
`
`2.0 OVERALL DESIGN ............................................................................................................................... 5
`
`2.1 INTERACTION-MAP DESCRIPTION .............................................................................................................. 5
`2.2 MAIN INTERACTION-MAP - LOCAL SEVER ................................................................................................. 6
`2.3 MAIN INTERACTION-MAp - REMOTE SEVER [FUTURE FEATURE] ......................................................... 7
`2.4 MODES OF OPERATION ............................................................................................................................... 8
`
`3.0 SCENARIO MAPS .................................................................................................................................. 9
`
`3.1 SCENARiO-MAp DESCRIPTION .................................................................................................................... 9
`3.2 INITIALIZATION (CORE MCAPI) ................................................................................................................ 9
`3.3 INITIALIZATION TUNING (CODE GENERATION MCSPI) ............................................................................ 11
`3.4 SERVO PID TUNING (EXTENDED AND EXTENDED UI MCSPI) ................................................................. 12
`3.5 MOVING ABSOLUTE (CORE MCSPI) ........................................................................................................ 13
`3.6 MOVE RELATIVE USING A VISUAL BASIC ApPLICATION ............................. : ................ : .......................... .14
`3. 7 MULTI AXIS LINEAR INTERPOLATED MOVE (EXTENDED MCSPI) ........................................................... 15
`
`4.0 C/C++ SUPPORT .................................................................................................................................. 17
`
`4.1 C SKELETON ............................................................................................................................................ 17
`4.1.11nitialization .................................................................................................................................... ,17
`4.1.2 Create The Motion Control Component.. ......................................................................................... 17
`4.1.3 Use the Motion Control Component ................................................................................................. 18
`4.1.4 End OLE 2.0 Session ........................................................................................................................ 19
`4.2 C++ SKELETON [FUTURE FEATURE] .................................................................................................. 19
`4.2.1 Initialization ..................................................................................................................................... 19
`4.2.2 Create The Motion Control Component.. ......................................................................................... 19
`4.2.3 Use the Motion Control Component ................................................................................................. 20
`4.2.4 End OLE 2.0 Session ........................................................................................................................ 20
`
`5.0 VISUAL BASIC SUPPORT .................................................................................................................. 21
`
`5.1 OLE AUTOMATION .................................................................................................................................. 21
`5.2 AUTOMATION EXAMPLE .......................................................................................................................... .21
`5.3 OLE CUSTOM CONTROL [FUTURE FEATURE] .................................................................................... 22
`
`6.0 STANDARD OLE INTERFACES ....................................................................................................... 23
`
`6.1 ICLASSFACTORY INTERFACE .................................................................................................................. .23
`6.2 IDATAOBJECT INTERFACE ...................................................................................................................... .23
`6.3 IDISPATCH INTERFACE ............................................................................................................................. 23
`6.4 IMARSHAL INTERFACE [FUTURE FEATURE] ....................................................................................... 23
`6.5 IUNKNOWN INTERFACE ............................................................................................................................ 24
`
`7.0 DRIVER ADMINISTRATOR MCAPI OLE INTERFACES ............................................................ 25
`
`7.1 STANDARD OLE INTERFACES .................................................................................................................. 25
`7.2 CUSTOM OLE INTERFACES ...................................................................................................................... 25
`
`ROY -G-BIV Corporation Confidential
`© 1994 ROY-G-BIV Corporation All rights reserved,
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055898
`
`3
`
`Page 3 of 54
`
`RA v. AMS
`Ex. 1018
`
`
`
`,t'
`
`'.J
`
`WOSAIXMC MCAPI and MCSPI Design Specification
`
`Table of Contents
`
`• 7.2.1 IComponentEnv ................................................................................................................................ 25
`
`8.0 MOTION CONTROL COMPONENT MCAPI OLE INTERFACES .............................................. 26
`
`8.1 STANDARD OLE INTERFACES .................................................................................................................. 26
`8.2 ATTACHMENT RELATIONSHIPS ................................................................................................................. 26
`8.3 CUSTOM OLE INTERFACES - GENERAL. ................................................................................................... 28
`8.3.1IBatch Interface [FUTURE FEATURE}. .......................................................................................... 28
`8.3.2 ICounter Interface ............................................................................................................................ 28
`8.3.3 ICurrentState Interface ..................................................................................................................... 28
`8.3.4lDisplay Interface [FUTURE FEATURE}. ....................................................................................... 29
`8.3.5 IEncoder Interface ............................................. ............................................................................... 29
`8.3.6 llnterrupt Interface ........................................................................................................................... 30
`8.3.7 110 Interface ..... ....................................................................................................................... '" ...... 30
`8.3.8 IJoystick Interface ............................................. ...................................................... .......................... 30
`8.3.9 ILimits Interface ............................................................................................................................... 31
`8.3.10 IMotion Interface ............................................................................................................................ 31
`8.3.11 ITimer Interface .............................................................................................................................. 32
`8.4 CUSTOM OLE INTERFACES - CODE GENERATION .................................................................................... 32
`8.4.1 IConditional Interface ...................................................................................................................... 32
`8.4.2 IOperator Interface ........................................................................................................................... 33
`8.4.3 IProgram Interface ........................................................................................................................... 34
`8.4.4 IProgramMgmt Interface .............................................. .................................................................... 34
`8.4.5 ISubroutine Interface ........................................................................................................................ 34
`8.4.6 IVariable Interface ........................................................................................................................... 35
`8.5 CUSTOM OLE INTERFACES - DIAGNOSTIC ............................................................................................... 35
`8.5.1 IDebug Interface ............................................................................................................................... 35
`
`• 9.0 MOTION CONTROL DRIVER MCSPI OLE INTERFACES ......................................................... 36
`
`9.1 MCSPI CATAGORIES .............................................................................................................................. .36
`9.1.1 CoreMCSPI ..................................................................................................................................... 36
`9.1.2 Extended MCSPl. .............................................................................................................................. 36
`9.1.3 Extended UI MCSPI ......................................................................................................................... 37
`9.1.4 Extended Code Generation MCSP 1 .................................................................................................. 3 7
`9.1.5 Extended Vendor Specific SPl .......................................................................................................... 37
`9.2 INTERFACE MAP ....................................................................................................................................... 38
`9.3 STANDARD OLE INTERFACES ................................................................................................................. .38
`9.4 CUSTOM OLE INTERFACES - CORE ......................................................................................................... .38
`9.4.1 IDrvCore_AnalogIO Interface .......................................................................................................... 39
`9.4.2 IDrvCore_CurrentState Interface ..................................................................................................... 39
`9.4.3 IDrvCore_DigitalJO Interface ................................................................................................... ....... 40
`9.4.4 IDrvCore_Encoder Interface ................................................................................................... ......... 40
`9.4.5 IDrvCore_IO Interface ................................................................................................... .................. 40
`9.4.6 IDrvCore_Limits Interface ............................................................................................................. .. 40
`9.4.7 IDrvCore_Motion Interface .............................................................................................................. 41
`9.4.8 IDrvCore_Servo Interface ................................................................................................................ 41
`9.4.9 IDrvCore_Stepper Interface ............................................................................................................. 41
`9.5 CUSTOM OLE INTERFACES - EXTENDED ................................................................................................. .42
`9.5.11DrvExt_Counter Interface ............................................................................................................... 42
`9.4.2 IDrvExt_Debug Interface (Private} .................................................................................................. 42
`9.5.3 IDrvExt_Display Interface ............................................. ................................................................... 42
`9.5.4 IDrvExt_Encoder Interface .............................................................................................................. 42
`9.5.5 IDrvExt_Interrupt Interface .............................................................................................................. 43
`9.5.6 IDrvExt_IO Interface ........................................................................................................................ 43
`9.5.7 lDrvExt _Joystick Interface ........... .................................................................................................... 43
`
`• ROY-G-BIV Corporation Confidential
`
`© 1994 ROY-G-BIV Corporation All rights reserved.
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055899
`
`ii
`
`7124194
`
`4
`
`Page 4 of 54
`
`RA v. AMS
`Ex. 1018
`
`
`
`) l:'
`
`WOSA/XMC MCAPI and MCSPI Design Specification
`
`Table of Contents
`
`• 9.5.8 IDrvExt_Limits Interface .................................................................................................................. 43
`
`9.5.9 IDrvExt_Motion Interface ................................................................................................................ 44
`9.5.10 IDrvExt_Timer Interface ................................................................................................................ 44
`9.6 CUSTOM OLE INTERFACES - EXTENDED UI... ......................................................................................... .45
`9.6.1 IDrvExtUi _ AnalogIO Interface .... .................................................................................................... 45
`9.6.2 IDrvExtUI_CurrentState Interface ................................................................................................... 45
`9.6.3 IDrvExtUl_Digita/lO Interface ........................................................................................................ 45
`9.6.4 IDrvExtUI_Servo Interface ............................................................................................................... 45
`9.7 CUSTOM OLE INTERFACES - CODE GENERATION ................................................................................... .45
`9.7.1 IDrvExtCG _Conditional Interface .................................................................................................. .46
`9.7.2 IDrvExtCG _ Operator Interface ....................................................................................................... .46
`9.7.3 IDrvExtCG_Program Interface ........................................................................................................ 47
`9.7.4 IDrvExtCG _Subroutine Interface .. ................................................................................................... 47
`9.7.5 IDrvExtCG_Variable Interface ......................................................................................................... 48
`9.8 CUSTOM OLE INTERFACES - VENDOR SPECIFIC ..................................................................................... .48
`
`APPENDIX A ............................................................................................................................................... 49
`
`A.I UNRESOLVED ISSUES .............................................................................................................................. .49
`A.2 REVIEWER FEEDBACK ............................................................................................................................ .49
`A.2. I Correspondence ............................................................................................................................... 49
`
`•
`
`• ROY-G-BIV Corporation Confidential
`
`© 1994 ROY-G-BIV Corporation All rights reserved.
`
`iii
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055900
`
`5
`
`Page 5 of 54
`
`RA v. AMS
`Ex. 1018
`
`
`
`•
`
`•
`
`•
`
`WOSA/XMC MCAPI and MCSPI Design Specification
`
`1.0 Overview
`
`1.0 Overview
`The WOSAlXMC Motion Control Software is comprised of several pieces of software. At the
`highest level of the software model reside the Motion Control Software Component and the Driver
`Administrator Application. Using the Driver Administrator, users may select and configure
`motion control drivers for specific motion control hardware. Next, software applications use the
`Motion Control Software Component to solve motion control problems. At a lower level, the
`component queries the Driver Administrator for the selected motion control driver, which it uses
`to manipulate the actual hardware.
`
`For example, a user may have an application used to optimize the initialization of their motion
`control hardware. In order to run the optimizing application, the user must first run the Driver
`Administrator, select the appropriate software driver from a list of hardware supporting the
`WOSAIXMC software model, and setup the software driver selected. Since the initialization
`tuning application uses the Motion Control Software Component, they are ready to tune their
`hardware's initialization process. What would happened if the user selected another
`implementation of motion control hardware? Again, the user would use the Driver Administrator
`to select the appropriate driver for the hardware and then run the same initialization tuning
`application.
`
`Since the Motion Control Software Component is independent of any hardware implementation,
`all application using it will instantly enjoy the larger target audience of all motion control
`hardware supporting the WOSAlXMC software model, instead of just one hardware
`implementation.
`
`This document describes all technical aspects of the WOSAIXMC MCAPI and MCSPI supporting
`software model. The first section of the document, discusses the general idea and some of the
`broad issues of the model, such as the design goals, tenn definitions, and target platfonns. After
`describing the model from a broad view, the next section, 2.0 Overall Design, describes the
`software model from a very technical perspective. In this section, a diagram displays all main
`objects in the model and how they interact with each other. The diagram encompasses the overall
`software design. Following the overall software design, the next section, 3.0 Scenario-Maps,
`tests the design, with several scenarios. Each scenario, such as initialization of the model,
`perfonning an absolute move, or perfonning a multi-axis interpolated move, is both graphically
`displayed and each step within it is described. Following the scenarios, four sections, 4.0 C/C++
`Support and 5.0 Visual Basic Support, describe how the application developer may program to the
`software model. The two fmal sections, 6.0 Driver Administrator MCAPI OLE Interfaces, 7.0
`Motion Component MCAPI OLE Interfaces, and B.O Motion Driver MCSPl OLE Interfaces, are
`references to both the MCAPI and MCSPI interfaces. Each OLE 2.0 Interface is discussed and
`the methods of each are listed. Appendix A of the document, contains a list of unresolved issues,
`currently being researched and a communication channel available for all reviewer feedback.
`
`1.1 Design Goals
`The following are the design goals to be met by the WOSAIXMC software model:
`
`1.
`2.
`3.
`4.
`
`5.
`6.
`
`Hardware independent software solution for motion control.
`Easily integrated into high-level languages such as Visual Basic and Excel's App Basic.
`Provide three modes of operation: 1.) Real Time, 2.) Code Generation, 3.) Mixture.
`Binary compatibility on the Windows NT 3.1, Windows NT 3.5, Chicago, and Windows
`3.1 platfonns.
`Full OLE 2.0 support and enabling.
`Easily extensible for new hardware.
`
`ROY-G-BIV Corporation Confidential
`© 1994 ROY-G-BIV Corporation All rights reserved.
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055901
`
`6
`
`Page 6 of 54
`
`RA v. AMS
`Ex. 1018
`
`
`
`". ,
`
`•
`
`•
`
`•
`
`WOSA/XMC MCAPI and MCSPI Design Specification
`
`1.0 Overview
`
`7. Easily extensible for new hardware features.
`8. Optimal performance on all platforms supported.
`9. Easily extensible for remote motion control applications.
`10. Easily extensible for PLC motion control applications.
`11. Easily extensible for Serial motion control applications.
`
`Of the above goals, the top two are critical to create a path toward standardizing the WOSAIXMC
`solution for motion control applications. A hardware independent solution will open up the
`motion control software market, and giving high-level languages easy access to the model will
`help it proliferate in the large market.
`
`1.2 Definitions
`WOSA - Windows Open Service Architecture - this is the Microsoft open service model
`supported by Microsoft Windows to allow third party vendors a method of consistently extending
`Microsoft Windows.
`
`WOSAlXMC - WOSA extension for Motion Control - this is the extension for Microsoft
`Windows used to manipulate and control Motion Control hardware.
`
`MCAPI - Motion Control Application Programming Interface - this is the specific set of functions
`called by applications using Motion Control. The Motion Component provides the majority of the
`MCAPI functions, which are all hardware independent. Several functions in the MCAPI, used to
`access the current driver environment, are provided by the Motion Control Driver Administrator.
`
`MCSPI - Motion Control Service Provider Interface - this is the specific set of functions called by
`the Motion Component supporting the MCAPI. Each MCSPI software driver is hardware
`dependent for it directly communicates with a specific hardware implementation using the
`hardware implementations motion control language and communication registers or ports.
`
`Driver Administrator - The Driver Administrator is an independent Windows application used to
`install, configure, and remove Motion Device Drivers. The user may also toggle API diagnostic
`logging, for debugging, through the administrator. In addition to providing driver management
`services to the user, the administrator is used by all applications, using the WOSAlXMC software,
`to access the current Motion Device Driver. When queried by the component, the administrator
`returns a pointer to the current driver's IUnknown interface. The administrator functions make
`up a small subset ofthe MCAPI mentioned above.
`
`Motion Control Component - All applications using the WOSAIXMC software model
`communicate directly with the Motion Control Component. The component is a hardware
`independent implementation of the motion control abstraction specified by the MCAPI. Both the
`functions supported by the component and those supported by the Driver Administrator together
`make up the MCAPI.
`
`Motion Control Driver - The Motion Control Driver is the actual hardware dependent software
`driver that uses the motion control command language to communicate with the motion control
`hardware that supports it. Every driver supports a set of functions called core functions. These
`are primitive functions required by all motion applications. The core functions are a subset of the
`MCSPI. The remaining set of MCSPI functions are called extended functions and are not required
`to be implemented.
`
`Motion Control Driver Stub - The Motion Control Driver Stub is a secondary Motion Driver
`supplied to support all MCSPI extended functions not supported by the Motion Driver. A
`
`ROY -G-BIV Corporation Confidential
`© 1994 ROY-G-BIV Corporation All rights reserved.
`
`2
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055902
`
`7
`
`Page 7 of 54
`
`RA v. AMS
`Ex. 1018
`
`
`
`WOSAIXMC MCAPI and MCSPI Design Specification
`
`1.0 Overview
`
`software algorithm is used to implement the functionality that doesn't exist in the underlying
`motion control hardware.
`
`1.3 Target Platforms
`Currently there are five main target platforms, two of which exist today. Windows 3.1, Windows
`NT 3.1 are target platforms currently out in the market. Chicago, a future release of windows will
`be a critical target platform for it will change the software model provided by supporting a deep
`integration of OLE 2.0. Finally, Daytona and Cairo, future versions of Windows NT 3.1 will be
`targeted. Daytona will be a small upgrade where Cairo, will bring NT up to date with the changes
`implemented in Chicago. See figure 4 for a description of the planned target order for each
`software entity in the WOSAlXMC model.
`
`Motion Control
`Driver Administrator
`Windows NTlDaytonn
`(WIN32/0LE2.0)
`
`~ Windows 3.1
`
`Motion Component
`(MCAPI)
`Windows NTlDaytona
`(WIN32/0LE2.0)
`
`~ Windows 3.1
`
`Motion Control Driver
`Stub
`Windows NTlDnytona
`(WIN3210LE2.0)
`
`~ Windows 3.1
`
`Motion Control Driver
`(MCSPI)
`Windows 3.1
`Windows NTlDaytonn
`
`(wINI6IO~) ?~L~O)
`Driver
`DLl
`
`VxD
`
`(WIN16/0LE2.0)
`
`(WIN1610LE2.0)
`
`(WIN1610LE2.0)
`
`'(
`Chicago
`(WIN3tIOLE2.0)
`
`Chicago
`(WIN3fOLE2.0)
`
`-f
`Cairo
`(WIN3210LE2.0)
`
`-f
`Cairo
`(WIN32fOLE2.0)
`
`& .,
`f
`Figure 1 WOSAlXMC Target Platforms
`
`Chicago
`(WIN31'0LE2.0)
`
`-f
`Cairo
`(WIN32/0LE2.0)
`
`(WIN3210LE2.0)
`
`~ci
`t
`
`Cairo
`(WIN3210LE2.0)
`
`~
`
`III .,
`~ it
`
`N
`
`tlI :g
`it
`
`CO)
`
`•
`
`•
`
`•
`
`NOTE: Currently the PC Bus is the assumed motion control hardware target. Since the WOSAlXMC model
`supports Windows NT, other hardware busses can be easily integrated into the overall model.
`
`1.4 Major Change List
`While reading this specification, you will notice several major changes to the overall design of the
`Motion Control Component. This section lists and describes each change that has occurred.
`
`•
`
`Separated Design From Analysis - This document contains all design issues describing the
`Motion Software Component. All analysis issues have been extracted to the Motion Control
`Component, Analysis Specification.
`• Removed Thunking Layer - All 32-bit to 16-bit thunking and all 16-bit to 32-bit thunking
`has been removed from the design. Instead of using thunking to provide support for 16-bit
`Windows 3.1, one set of source code will be built twice: once to create a 32-bit version of the
`software and once to create a 16-bit version. By creating two builds from one source, our
`development time will be reduced, for no development time will be devoted to creating
`complex thunks. In addition, the 16-bit software will be much faster for most of the actual
`computation is done by each Motion Driver, which must be compiled as 16-bit for 16-bit
`applications.
`• Reorganized All MCAPI OLE Interfaces - All MCAPI OLE Interfaces have been
`reorganized to follow a more object oriented style. Most interfaces describe a particular
`portion of the overall motion abstraction. For example, the IJoystick interface describes all
`functions used to manipulate a joystick.
`• Reorganized All MCSPI OLE Interfaces - Similar to the MCAPI OLE Interfaces, all
`MCSPI OLE Interfaces have been reorganized to follow a more object oriented style.
`
`ROY-G-BIV Corporation Confidential
`© 1994 ROY-G-BIV Corporation All rights reserved.
`
`3
`
`7124194
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055903
`
`8
`
`Page 8 of 54
`
`RA v. AMS
`Ex. 1018
`
`
`
`, .
`. r
`
`•
`
`•
`
`•
`
`WOSAIXMC MCAPI and MCSPI Design Specification
`
`1.0 Overview
`
`Currently, the MCSPI OLE Interfaces are a close mapping of the MCAPI OLE Interfaces.
`Implementation of all MCSPI OLE Interfaces is not required.
`• Revised all Interaction and Scenario Maps - All interaction and scenario maps have been
`revised to take into account the removal of the thunking layer, and the reorganization of both
`the MCAPI and MCSPI interfaces.
`• Added Several Scenario Maps - The following new scenario-maps have been added to the
`specification:
`1.
`Initialization Tuning (Code Generation MCSPI)
`2. Multi-Axis Linear Interpolated Move (Extended MCSPI)
`• New C/C++ Support Section - A new section briefly describes how to program the Motion
`Control Component using both the C and the C++ programming languages.
`• Revised Visual Basic Support Section - The section describing Visual Basic support has
`been revised to include more information about OLE Automation and a new section,
`describing OLE Custom Controls, has been added.
`• New Unresolved Issues Section - A new appendix section, describing unresolved issues, has
`been appended to the back of the document. This section discusses any issues that need more
`research.
`
`ROY -G-BIV Corporation Confidential
`© 1994 ROY-G-BIV Corporation All rights reserved.
`
`4
`
`7124194
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055904
`
`9
`
`Page 9 of 54
`
`RA v. AMS
`Ex. 1018
`
`
`
`, ..
`
`T
`
`) . ~
`
`•
`
`•
`
`•
`
`WOSA/XMC MCAPI and MCSPI Design Specification
`
`2.0 Overall Design
`
`2.0 Overall Design
`The overall design, discussed in this section, includes all main objects found within the software
`model and how they interact with each other. When an object communicates, in any way, with
`another object, the two objects are interacting. The composite of all interactions taking place
`within the software model make up what is called the main interaction-map, which is discussed in
`the following section.
`
`2.1 Interaction-Map Description
`What is an interaction-map? It is a graphical display of all main interactions taking place within
`the software model. For example, the Motion Control Component querying the Driver
`Admin