throbber
WOSA/XMC MCAPI and MCSPI
`
`DESIGN SPECIFICATION
`
`Revision:
`Author:
`Date:
`Project:
`Project Location:
`Document Name:
`Description:
`
`Second Draft
`Dave Brown
`Friday, July 1. 1994
`MOTION. 1 00
`\\rgbsrvr_2\master\cmpnt
`\doc\des\des_2\design.doc
`This document describes the software design of the WOSA/XMC MCAFIIMCSPI Motion Control
`software component.
`
`Revision History:
`
`4/15/94 (DB)
`7/1/94 (DB)
`
`Initial writing.
`- First Draft:
`- Second Draft: Split design off small business plan. incorporated suggestions.
`
`ROY-G-BIV Corporation Confidential
`© 1994 ROY-G—BlV Corporation. All rights reserved.
`
`ROY—G—BIV CORPORATION
`
`EXHIBIT 2010-1
`
`ABB V ROY—G—B|V
`
`I
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`TRIAL |PR2013—00O62
`
`RGBOO055896
`
`

`

`~ ..
`
`~.
`
`•
`
`•
`
`•
`
`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
`
`

`

`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
`
`

`

`,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
`
`

`

`) 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
`
`

`

`•
`
`•
`
`•
`
`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
`
`

`

`". ,
`
`•
`
`•
`
`•
`
`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
`
`

`

`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
`
`

`

`, .
`. 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
`
`

`

`, ..
`
`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
`Administrator for the specific driver to use, is an interaction between the Motion Control
`Component and the Driver Administrator. The goals of the main interaction-map are: 1.) to
`display all main objects within the system, and 2.) to show all interactions between the main
`objects.
`Before discussing the main interaction-map, the documentatio

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket