throbber
WOSA/XMC MCAPI and MCSPI
`
`ANALYSIS SPECIFICATION
`
`Revision:
`Author:
`Date:
`Project:
`Project Location:
`Document Name:
`Description:
`
`Second Draft
`Dave Brown
`Friday, July 15. 1994
`MOTlON.100
`\\rgbsrvr_2\master\cmpnt
`\doc\ana\ana__2\analysis.doc
`This document describes the summary business plan for the Motion Control WOSAIXMC
`MCAPI/MCSPI working model and specification.
`
`Revision History: 4/15/94 (DB)
`7/1 5194 (DB)
`
`Initial writing.
`- First Draft:
`- Second Draft: Split analysis off small business plan, incorporated suggestions.
`
`ROY-G-BIV Corporation Confidential
`© 1994 ROY-G-BIV Corporation. All rights reserved.
`
`ROY—G—B|V CORPORATION
`
`EXHIBIT 2010-2
`
`ABB V ROY—G—B|V
`
`TRIAL |PR2013—00O62
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGBO0055881
`
`

`
`WOSA/XMC MCAPI and MCSPI Analysis 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 on, 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
`
`RGB00055882
`
`2
`
`

`
`WOSA/XMC MCAPI and MCSPI Analysis Specification
`
`•
`
`• Table of Contents
`
`2.0 Project Vision
`
`TABLE OF CONTENTS .............................................................................................................................. i
`
`1.0 OVERVIEW ............................................................................................................................................. 1
`
`1.1 DEFINITIONS ............................................................................................................................................... 1
`
`2.0 PROJECT VISION ................................................................................................................................. 3
`
`2.1 PROJECT GOAL .......................................................................................................................................... .3
`2.2 PROJECT BENEFITS ..................................................................................................................................... 3
`2.3 SOFTWARE MODEL. ................................................................................................................................... .4
`2.4 PROJECT STRATEGY ................................................................................................................................... 5
`2.4.1 Project Phases .................................................................................................................................... 6
`
`3.0 DEVELOPMENT .................................................................................................................................... 8
`
`3.1 DESIGN GOALS ........................................................................................................................................... 8
`3.2 TARGET PLATFORMS .................................................................................................................................. 8
`3.3 FOUNDATION SOFTWARE TECHNOLOGY USED ........................................................................................... 9
`3.3.1 OLE 2.0 ............................................................................................................................................... 9
`3.3.2 WIN32 ................................................................................................................................................. 9
`
`4.0 MARKETING ........................................................................................................................................ 11
`
`• 4.1 STRATEGy ................................................................................................................................................ 11
`
`4.2 MATERIALS .............................................................................................................................................. 11
`4.3 METHODS ................................................................................................................................................. 12
`
`5.0 INTEGRATION .................................................................................................................................... 12
`
`•
`
`ROY -G-BIV Corporation Confidential
`© 1994 ROY-G-B1V Corporation All rights reserved.
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055883
`
`3
`
`

`
`..
`•
`
`•
`
`•
`
`WOSA/XMC MCAPI and MCSPI Analysis Specification
`
`2.0 Project Vision
`
`1.0 Overview
`This document describes the WOSA API/SPI software model and specification, otherwise known
`as the WOSA extension for Motion Control or WOSAIXMC, which is a software model used by
`software applications to control motion control hardware. The model gives each application a
`hardware independent motion control solution. In addition to hardware independence, the model
`is easily extensible for new motion control hardware.
`
`The goal of this document is to create a foundation for a standardized motion control software
`model. Four main sections, described below, outline the goals of the model, how it is to be
`implemented, and how it will be introduced to the market. The main sections are the following:
`
`Project Vision - Included in this section are the overall project goal, a high-level description of
`the software model designed to fulfill that goal, and the planned path to bring the developed
`software to market.
`
`Development Plan - This section discusses general software design issues. Included in this
`section are general disscussions of the design goals, target platforms, and the foundation
`technology used. This se6tieR E!is6l:lsses the sefu'lare E!esigR iR E!etail. IRsII:lE!eE! iR this sestisR are
`E!essrifltieRs efthe FRam ebjests iR the systeFR, hew they iRtera6t with eash etiler, aRE! tile OLE 2.Q
`iRterfa6es the~' Sl:lflfleFt, whi6h m611:lE!e sfle6ifisatieRs far beth the FRetieR 6eRtrei at3flli6atieR
`flregraFRFRing iRterfa6e salleE! MCAPI aRE! the FRetieR 6eRtrei sePo'i6e flreyiE!er iRterfa6e 6alleE!
`MCSPI.
`
`Marketing Plan - In this section, the overall marketing plan is discussed, which includes
`describing the marketing strategy, the methods of marketing to be used, and the marketing
`materials needed for each method.
`
`Integration Plan - This section discusses the methods used to integrate the model with both new
`motion control hardware vendors, and new motion control application developers.
`
`1.1 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.
`
`Motion Driver Administrator - The Motion Driver Administrator is an independent Windows
`application used to install/remove Motion Device Drivers. The user may also toggle API
`diagnostic logging, for debugging, through the Motion Driver Administrator. In addition to
`
`ROY-G-BIV Corporation Confidential
`© 1994 ROY-G-B1V Corporation All rights reserved.
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055884
`
`4
`
`

`
`WOSA/XMC MCAPI and MCSPI Analysis Specification
`
`2.0 Project Vision
`
`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 environment. This
`environment is later used in conjunction with the Motion Component to control specific motion
`control hardware. The environment creation functions make up a small subset of the MCAPI
`mentioned above.
`
`Motion Component - All applications using the WOSAlXMC software model communicate
`directly with the Motion Component. The Motion Component is a hardware independent
`implementation of the motion control abstraction specified by the MCAPI. Both the functions
`supported by the Motion Component and those supported by the Motion Driver Administrator
`together make up the MCAPI.
`
`Motion Driver - The Motion 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 Motion 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 Driver Stub - The Motion Driver Stub is a secondary Motion Driver supplied to support
`all MCSPI extended functions not supported by the Motion Driver. A software algorithm is used
`to implement the functionality that doesn't exist in the underlying motion control hardware.
`
`..
`
`•
`
`•
`
`•
`
`ROY-G-BIV Corporation Confidential
`© 1994 ROY-G-BiV Corporation All rights reserved.
`
`2
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055885
`
`5
`
`

`
`WOSA/XMC MCAPI and MCSPI Analysis Specification
`
`2.0 Project Vision
`
`2.0 Project Vision
`This section describes the overall vision of the motion component, a high level description of the
`software model, and an overall strategy to bring the project to market.
`
`2.1 Project Goal
`The overall goal of the MCAPIIMCSPI WOSA extension for Motion Control (WOSAlXMC)
`model is to create and standardize a hardware independent, software interface used to manipulate
`motion control hardware in the motion control industry.
`
`Such a solution will broaden the motion control software market from applications that only
`support one specific hardware vendor's motion control implementation to that of all hardware
`vendor's supporting the model. This will vastly increase the value of the motion control software
`built on the software model.
`
`In order to fulfill this vision, the model must be easy to integrate into motion control applications.
`An easy application integration path will be provided by supporting current popular software
`development tools such as Microsoft Visual C++, Borland C++, and any high-level language or
`macro language supporting OLE 2.0 Automation such as Microsoft Visual Basic 3.0 or Microsoft
`Excel 5.0.
`
`2.2 Project Benefits
`There are several benefits of the WOSAlXMC software model that will help hardware vendors
`implementing motion control hardware, software developers creating motion control software
`applications, and end users operating motion control software applications. The benefits for each
`are described in this section.
`
`Hardware Vendors - Hardware vendors who want to add support for Windows 3.1, Windows
`NT, and future versions of Windows, to their motion control hardware will benefit from much
`lower development costs. In order to become a participant in the WOSAIXMC software model,
`each hardware vendor need only create a Motion Driver that supports the MCSPI. If a hardware
`vendor has several different hardware implementations, again they only need to create MCSPI
`Drivers for each one. Each hardware vendor will save the effort of developing both the Motion
`Component and the Motion Driver Administrator which both provide the hardware independent
`solution to applications.
`
`Software Developers - Software developers will benefit by having a hardware independent
`solution for motion control. Instead of focusing on the intricacies of a particular hardware
`implementation, the software developer will be freed to focus on the actual motion control
`problem at hand.
`
`End Users - End users will benefit for now they will have a hardware independent motion control
`solution to run their motion control applications on. If one particular implementation of hardware
`is not optimal for their application, they can easily plug in a different hardware implementation
`that implements more motion control hardware functionality, without having to purchase a
`different software application for the new hardware.
`
`•
`
`•
`
`•
`
`ROY-G-BIV Corporation Confidential.
`© 1994 ROY-G-BIV Corporation. All Rights Reserved.
`
`3
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055886
`
`6
`
`

`
`• •
`
`WOSA/XMC MCAPI and MCSPI Analysis Specification
`
`2.0 Project Vision
`
`2.3 Software Model
`The general WOSAlXMC model consists of four main entities which include the Hardware
`Administrator, the hardware independent Motion Component supporting the MCAPI, the
`hardware dependent Motion Control driver supporting the MCSPI, and finally the applications
`that run use the Motion Component to solve motion control problems. As you will see in section
`3.0 Development, the model below is a high-level model describing the main entities in it and how
`they interact. Users can easily plug-n-play hardware device drivers in and out of the system,
`without affecting the software running on the model.
`
`-----r-----
`------------------------
`Motion ontrol
`M
`I
`Hardware
`Implementation t#1
`
`I
`
`I
`,
`
`---------,----------~--
`Ion Control
`Motion Control
`I
`Hardware
`Hardware
`Implementation t#3
`Implementation t#2
`
`I API Layer
`
`I SPI Layer I
`
`I Hardware
`
`•
`
`•
`
`Figure 1 General WOSA API/SPI Model known as WOSNXMC
`
`Applications directly communicate with the Driver Administrator and Motion Component. The
`MCAPI provides the communication link between the applications and the Driver Administrator
`and Motion Component. The Driver Administrator is used by the application to access the correct
`driver state data which is then passed on to the Motion Component for all further motion control
`interaction. From the applications perspective, all motion interaction is independent of the actual
`hardware implementation carrying out the requested actions. For example, if the Application
`wants to request the motion hardware to tune the servo settings, it invokes one of the Motion
`Component's functions to do so. The application doesn't need to know what hardware is being
`tuned. In some cases, the hardware may not even support servo tuning. When ever an MCSPI
`function is not supported directly by the hardware, as in the Tuning example, the Motion
`Component calls the Motion Driver Stub which then attempts to carry out the functionality
`requested by calling required, core MCSPI functions located in the Motion Driver.
`All MCSPI supporting Motion Drivers are required to implement a core set of functions to
`participate in the WOSAIXMC model. Depending on the hardware support for motion control
`functionality, many Motion Drivers will support some or all of the extended interface supported
`by the Motion Driver Stub, increasing motion control efficiency.
`
`ROY-G-BIV Corporation Confidential
`© 1994 ROY-G-BiV Corporation All rights reserved.
`
`4
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055887
`
`7
`
`

`
`• •
`
`•
`
`•
`
`WOSA/XMC MCAPI and MCSPI Analysis Specification
`
`2.0 Project Vision
`
`For example, consider the following scenario:
`A.
`
`I MCSPI Stub I
`
`3 Since the Hardware supports
`Countour Moves, the MCSPI
`directs the hardware to carry
`out the contour move.
`
`Hardware
`
`Figure 2 MCAPI, MCSPI, and MCSPI Stub Interaction
`
`As shown in diagram A of Figure 2 above, the Application calls the MCAPI Contour ()
`function to perform a contour motion. The MCAPI in tum, calls the MCSPI driver's
`Contour () function. Since the hardware driven by this particular MCSPI implements contour
`moves, the MCSPI function sends the appropriate hardware language statements to the hardware
`telling it to perform the contour move. On the other hand, in diagram B of Figure 2 above, when
`the MCAPI Contour () function calls the MCSPI driver Contour () function, the MCSPI
`notifies the MCAPI that it cannot perform the operation because it is not supported by the
`hardware. After being notified of the hardware deficiency, the MCAPI calls the MCSPI driver
`Stub to perform the requested action through a less efficient software algorithm. The MCAPI
`calls the MCSPI driver Stub's Contour () function which follows the contour path and
`incrementally calls the MCSPI's MoveAbs () function which is a core function.
`
`Every MCSPI supporting Motion Control driver must support the core MCSPI functions in order
`to participate in the WOSAlXMC model. Core functions are all functions absolutely necessary to
`solve a motion control problem. Hardware initialization, Moving, and Stopping, are a few
`examples of core motion control functions. In addition to supporting a core functions, the MCSPI
`may support several or all of the extension functions. Extension functions are all functions that
`can be performed by sequencing together core functions to carry out the requested action. For
`example, Contour () , CurveTrace () , and MoveRel () are extension functions for each
`requested action can be performed through a software algorithm that uses core functions to carry
`out the action on the motion control hardware. Of course the software solution of an action
`provided by the MCSPI driver Stub will me much less efficient than one directly supported the
`motion control hardware. The core and extension MCSPI are discussed in more detail in 3.0
`Development.
`
`2.4 Project Strategy
`The overall project strategy is to create the WOSAlXMC software in a way that not only targets
`each of the various evolving Windows platforms, but does so in a way that encourages hardware
`vendors to participate in standardization process. Particular target Windows platforms will help
`entice each hardware vendor to participate. The following are the planned target environments for
`the model:
`
`• Version 1.0 targets Windows NT 3.1lDaytona and Windows 3.1 through WIN32s.
`• Version 1.5 targets Windows 4.0/Chicago.
`• Version 2.0 targets Windows NT 4.0/Cairo.
`
`ROY-G-BIV Corporation Confidential
`© 1994 ROY -G-BIV Corporation All rights reserved.
`
`5
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055888
`
`8
`
`

`
`..
`•
`
`•
`
`•
`
`WOSA/XMC MCAPI and MCSPI Analysis Specification
`
`2.0 Project Vision
`
`But having access to the fmal software making up the MCAPIIMCSPI WOSAlXMC model is not
`enough to entice each hardware vendor to participate in the open forum. Participating hardware
`vendors will be able to learn and integrate pre-release software making up the model. In addition
`participants are encouraged to actively give feedback on improvements necessary for the model to
`better work with their implementation of motion control hardware.
`
`ROY-G-BIV
`Corporation
`
`InItial Specification
`
`Improvements, New
`
`Vendor
`
`<f'~'~ :>
`
`Venlon 1.0 S cIfIcatlon
`
`WOSAIXMC,
`MCAPI,
`MCSPI
`nefinition
`
`Manage
`WOSAIXMC,
`MCAPI,
`MCSPI
`evolution.
`
`Develop
`WOSAIXMC
`MCAPlfor
`WindosNT
`
`nevelop
`MCSPI
`supporting
`drivers for
`WindosNT.
`
`2.4.1 Project Phases
`There are several planned phases in the WOSAlXMC software model. Before describing each
`individual phase an overall phase cycle is described. Figure 3 describes the general evolution of
`each phase in the WOSAlXMC model evolution: As a rough outline, the general phase cycle
`begins with the feature specification for the target version of the software. Next, through
`interaction with all participants in the
`forum, the specification will begin to
`evolve and eventually solidify. Once
`the specification becomes relatively
`solid, development of the software
`begins. Pre releases are passed out to
`all participants who in tum should
`respond with any bug reports found in
`the software. After the software
`development reaches a code freeze, a
`structured testing process begins. All
`the while, participants are encouraged
`to send in improvement and bug
`reports. After the structured testing is
`completed, the software will be ready
`for a final release. And, after the fmal
`release, a post-mortem process is
`started to evaluate the overall phase
`and decide how to improve it before
`the next phase begins. The following
`describes each of the three planned
`phases:
`
`and Wi032S·C' ;::' ~~~Pr~e~-A~I~h~a~R~el~ea~s~e ;::--~E:=J
`
`Driver AdmInIstrator,
`MCAPI, and MCSPI driven.
`
`DevclopMC!
`supporting dri
`
`Integrate WO
`software into
`control softw.
`applications.
`
`Phase I.
`During this phase we plan to
`collaborate with several key motion
`control hardware vendors to improve
`and integrate version 1.0 of the WOSA
`extension for Motion Control. The
`target software platforms are both
`Windows NT 3.1lDaytona and
`Windows 3.1 through WIN32s. At this
`time, the participating hardware
`vendors should both participate in the
`MCAPI and MCSPI evolution and start
`integrating the software model into
`their current motion control software
`applications. If possible, hardware
`vendors will also be encouraged to
`integrate current software drivers into
`ones supporting the MCSPI.
`
`structured
`Testing,
`Bug fixes.
`
`A ha Release
`Driver Administrator,
`MCAPI, and MCSPI
`driven for Windows NT 3.1.
`
`Beta Release
`Driver AdmInistrator,
`MCA-PI, and MCSPI
`driven for Windows NT 3.1.
`
`Bug Reports
`
`f'
`
`r~==}-1Fm~al~R~e~le~as~e~v~era;l~on~1.~0~~~~
`Maintenao"
`Driver AdmInistrator,
`MCAPI, and MCSPI
`Releases
`drivers for Windows NT 3.1.
`Post-Mortem Reports
`to improve process,
`communication, etc.
`
`Preparation for
`next Phase.
`
`<a tic'
`Figure 3 General Phase Cycle
`
`Application B
`
`ApplictionM
`
`Distrihution
`
`ROY-G-BIV Corporation Confidential
`© 1994 ROY-G-BIV Corporation All rights reserved.
`
`6
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055889
`
`9
`
`

`
`WOSA/XMC MCAPI and MCSPI Analysis Specification
`
`2.0 Project Vision
`
`Phase II.
`During this phase we plan to open the forum to more hardware vendors and several application
`developers specializing in the motion control industry. Again, feedback from all participants will
`be important in order to evolve the MCAPI and MCSPI towards a standard. At this time, version
`1.5 of the model will come to fruition with full backward compatibility to version 1.0. This
`version wiII add support for an additional target software platform, Windows 4.0 or otherwise
`known as Chicago.
`
`Phase III.
`During this phase we plan to continue opening up the forum to hardware vendors and application
`developers. Feedback from all participants wiII continue to shape the MCAPI and MCSPI which
`should be fairly stable by this time. Version 2.0 will be created in this phase and support will be
`added for Windows NT 4.0 known as Cairo. At this time Client/Server remote access will also be
`added to the model.
`
`•
`
`•
`
`•
`
`ROY-G-BIV Corporation Confidential
`© 1994 ROY-G-BIV Corporation All rights reserved.
`
`1
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055890
`
`10
`
`

`
`WOSA/XMC MCAPI and MCSPI Analysis Specification
`
`3.0 Development
`
`3.0 Development
`This section describes the general design goals target software platfonns and foundation
`technologies used to build the Motion Software Component For a detailed description of the
`Motion Software Component's internal design see the Motion Control Component Design
`Specification document.
`This seetieR Eleseriees the ElesigR geais, target seft' .... are piatferms, sefu'l'are ElesigR, anEi iRterfaee
`speeifieatieRs efthe 'HOSAlXHC seftware lReElel.
`
`3.1 Design Goals
`The following are the design goals to the WOSAlXMC software model:
`
`1. Hardware independent software solution for motion control.
`2. Easily integrated into high level languages such as Visual Basic and Excel's App Basic.
`3. Binary compatibility on the Windows NT, Windows 3.1, and Chicago platforms.
`4. Full OLE 2.0 support and enabling.
`5. Easily extensible for new hardware and new hardware features.
`6. Optimal performance on all platforms supported.
`
`Of the above goals, the top two are critical to create a path toward standardizing WOSAIXMC
`solution for motion control applications. A hardware independent solution wi!! open up the
`motion control market, and giving high level languages easy access to the model wi!! help it
`proliferate in the broadened market.
`
`3.2 Target Platforms
`Currently there are four main target platforms, of which two exist today. Windows 3.1, Windows
`NT 3.1 are target platforms currently out in the market. Chicago, a future release of windows wi!!
`be a critical target platform for it wi!! change the software model provided by supporting a deep
`integration of OLE 2.0. Finally, Cairo, a future version of Windows NT 3.1 wi!! be targeted.
`Cairo, wi!! 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
`ay
`In
`S
`(W1N3VOLE2.0)
`
`Motion Componmt
`(MCAPI)
`ayona
`In
`S
`(WIN3VOLE2.0)
`
`Motion Control Driver
`Stub
`ayona
`S
`III
`(WIN3VOLE2.0)
`
`Motion Control Driver
`(MCSPI)
`
`s.
`III
`(WIN 16/0LE2.0)
`
`ay
`In
`(WIN3VOLE2.0)
`
`~OWS3.1
`
`(WINI6/0LE2.0)
`
`~WS3.1
`
`(WINI6/0LE2.0)
`
`~S3.1
`
`(WIN 16/0LE2.0)
`
`Oiicago
`(WIN3VOLE2.0)
`
`Cliicago
`(WIN3VOLE2.0)
`
`Cairo
`(WIN3VOLE2.0)
`
`Cairo
`(WIN3VOLE2.0)
`
`Cairo
`(WIN3VOLE2.0)
`
`'1=igure 4 WOSNXMC Target Platforms
`
`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.
`
`•
`
`•
`
`•
`
`ROY -G-BIV Corporation Confidential.
`© 1994 ROY-G-BIV Corporation. All Rights Reserved.
`
`8
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055891
`
`11
`
`

`
`•
`
`•
`
`•
`
`WOSA/XMC MCAPI and MCSPI Analysis Specification
`
`2.0 Project Vision
`
`3.3 Foundation Software Technology Used
`There are two foundation software technologies that the WOSAlXMC software model is built on.
`Both technologies are fairly new and have been included in the latest released of both Windows
`3.1 and Window NT 3.1. In specific, the technologies are OLE 2.0 and WIN32. This section
`describes what each technology is and what the benefits are to using them.
`
`3.3.1 OLE 2.0
`OLE, which stands for Object Linking and Embedding, is a component based technology that uses
`standardized software interfaces to communicate with software entities in an object oriented way.
`Each software entity or component is an object. As in most object oriented languages, each OLE
`object has data and methods that operate on the data. Although, OLE is a little different that
`standard object oriented languages such as C++ or Smalltalk in that only Interfaces ,or groups of
`standardized functions, are exposed to software that communicates with the object. No data is
`exposed. Data is only manipulated within the internals of the object. This model decouples the
`software component from the application using it, which makes the component more reusable in
`other applications.
`
`Microsoft is making a significant effort to adopt the OLE Component Object Model in future
`versions of Windows. For example, Chicago, the next major release of Windows, will contain
`OLE extensively throughout its operating system. According to the main message projected at a
`recent Microsoft Strategy seminar, OLE is the future of Windows.
`
`Several benefits to building the WOSAIXMC model on top of OLE 2.0 technology are listed
`below:
`
`•
`
`Future versions of the Windows and Windows NT operating systems are moving towards
`completely supporting OLE 2.0 technology. Eventually Windows operating systems,
`will be completely implemented with OLE technology. For example, Chicago has
`complete OLE 2.0 support and Cairo a future of Windows NT will be completely
`implemented using OLE technology.
`• By supporting OLE 2.0 it will be much easier to hook into the operating system. For
`example, to add support for operations such as drag and drop, an OLE Component need
`only implement the IDragSource OLE 2.0 interface.
`Supporting OLE 2.0 will give high level programming languages such as Visual Basic
`and Microsoft Excel 5.0 easy access to the component. For example, by implementing
`the IDispatch OLE 2.0 interface, high level languages can automatically create and
`manipulate the component.
`The OLE Component Based model makes software more reusable by decoupling the
`software component from each application that uses it.
`
`•
`
`•
`
`3.3.2 WIN32
`WIN32 is the application programming interface used to program 32 bit Windows programs.
`WIN32 is a superset of the original Windows API that allows 32 bit applications written for
`Windows NT to run on Windows 3.1 through WIN32s. WIN32s implements a thunking layer that
`translates WIN32 calls made by the 32 bit application to the corresponding 16 bit, Windows 3.1
`API function.
`
`WIN32 is as much a future of Windows as OLE 2.0, mentioned above. For example, Chicago, the
`next version of Windows 3.1, will be a 32 bit operating system that implements a large subset of
`WIN32. Currently, Windows NT implements the full set of the WIN32 API.
`
`ROY-G-BIV Corporation Confidential
`© 1994 ROY -G-BIV Corporation All rights reserved.
`
`9
`
`7/24/94
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055892
`
`12
`
`

`
`WOSAIXMC MCAPI and MCSPI Analysis Specification
`
`2.0 Project Vision
`
`Several benefits to building the WOSAIXMC model using WIN32 and a 32 bit software model are
`listed below:
`
`•
`
`• Current and future version ofthe Windows operating system are moving towards the 32
`bit model and will either completely implement or implement a large subset of the
`W1N32 API.
`The 32 bit programming model is easier and more efficient for it uses a flat memory
`model. Segments and offsets are not used.
`Supporting W1N32 will ease the portability between different Windows operating
`systems. For example, code compiled to run on Windows NT will run on Chicago
`unchanged.
`
`•
`
`•
`
`•
`
`•
`
`ROY ·G·BIV Corporation Confidential
`© 1994 ROY·G·BIV Corporation All rights reserved.
`
`10
`
`7124194
`
`CONFIDENTIAL OUTSIDE COUNSEL EYES ONLY
`
`RGB00055893
`
`13
`
`

`
`, '." . •
`
`•
`
`•
`
`WOSA/XMC MCAPI and MCSPI Analysis Specification
`
`3.0 Development
`
`4.0 Marketing
`This section describes the planned strategy, materials, and methods used to market the
`WOSAIXMC software model implementing the MCAPI and MCSPI. Not only is marketing to
`sell each released version of the model, it will also be useful for gathering input from current or
`prospective user on how to improve the model in a way that will help it gain a wider acceptance in
`the market.
`
`4.1 Strategy
`As mentioned earlier in section 2.0 Product Vision, there are three planned phases of the
`WOSAIXMC project. Each phase is outlined below from the marketing perspective:
`
`Phase 1 - In the first phase, an open process may involve several key hardware vendors who help
`evolve the MCAPI and MCSPI. In addition some of the hardware vendors will be encouraged to
`create their own MCSPI supporting Motion Device Drivers. Version 1.0 of both the Motion
`Control Driver Administrator and the Motion Component should be bundled with applications
`built on the model and sold in the application's target market. In addition, the Motion Control
`Driver Administrator, the Motion Component, and all MCSPI supporting Motion Drivers will be
`sold with an accompanying WOSAIXMC software development kit targeted at motion control
`software application developers.
`
`Phase 2 - In the

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