Figure 1 Hyperworx Platform Technical Disclosure [ Figure 1 ] © 2003 Encapsule Systems, Inc....

42
Figure 1 Hyperworx Platform Technical Disclosure [ Figure 1 ] • © 2003 Encapsule Systems, Inc. • Revised: 03/27/22 Hyperworx Conceptual Diagram Hyperworx embodies a useful process and a methodology for packaging software intellectual property (System Inputs) in a form that can be subsequently used by the non-obvious Hyperworx machinery (Mechanism) to automate the manufacturing of software applications (System Output) in a manner that is a useful improvement of current methods of software application composition . Operating System Platform (e.g. Microsoft Windows, Linux, Mac OSX…) Hardware Platform (e.g. Intel, AMD, or IBM… CPU-based server or workstation) System Inputs Useful process + methodology for preparing inputs for the machinery System Outputs Useful improvement of current software application composition methodologies Mechanism Non-obvious machinery for manufacturing software applications XML-encoded Hyperworx CSDL- format specification files Platform/OS-native binary-format Hyperworx plug-in database (Hyperworx HyperPack modules) Platform/OS-native binary-format Hyperworx software application Platform/OS-native custom software application runtime memory image

Transcript of Figure 1 Hyperworx Platform Technical Disclosure [ Figure 1 ] © 2003 Encapsule Systems, Inc....

Figure 1

Hyperworx Platform Technical Disclosure [ Figure 1 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx Conceptual Diagram

Hyperworx embodies a useful process and a methodology for packaging software intellectual property (System Inputs) in a form that can be subsequently used by the non-obvious Hyperworx machinery (Mechanism) to automate the manufacturing of software applications (System Output) in a manner that is a useful improvement of current methods of software application composition.

Operating System Platform (e.g. Microsoft Windows, Linux, Mac OSX…)

Hardware Platform (e.g. Intel, AMD, or IBM… CPU-based server or workstation)

System InputsUseful process + methodology

for preparing inputs for the machinery

System OutputsUseful improvement of current

software application composition methodologies

MechanismNon-obvious machinery for

manufacturing software applications

XML-encoded Hyperworx CSDL-format specification files

Platform/OS-native binary-format Hyperworx plug-in database (Hyperworx HyperPack modules)

Platform/OS-native binary-format Hyperworx software application

Platform/OS-native custom software application runtime memory image

Figure 2

Hyperworx Platform Technical Disclosure [ Figure 2 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx System Inputs Overview

Useful process + methodology for preparing inputs for the machinery

Hyperworx Component Software Description Language (CSDL) XML schema-compliant documents

XML-encoded Portable Model Library (PML) documents(s)

XML-encoded Portable Application Specification (PAS) document(s)

XML-encoded Platform Binding Map (PBM) document(s)

XML-encoded Semantic Binding Map (SBM) documents(s)

XML-encoded Persistent Application Data (PAD) document(s)

Platform/OS-specific ANSI C++ compiler installation

Hyperworx HyperPack SDK (ANSI C++ library)

Platform/OS-native Hyperworx HyperPack binary plug-in module

Software algorithms Data structures

Hyperworx binary HyperPack plug-in module creation methodology

Figure 3

Hyperworx Platform Technical Disclosure [ Figure 3 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx Mechanism Overview

For more in-depth information, consult the large multi-page printouts.

Non-obvious machinery for manufacturing software applications

Hyperworx Platform packaged and deployed as a single, integrated binary software application

Hyperworx Graphical User Interface View System

Hyperworx Core (“Protein” Library)

Virtual Machine Assembly Subsystem

Virtual Machine Analysis Subsystem

Virtual Machine Loader Subsystem

Virtual Machine Runtime Dispatch Subsystem

Plug-In Package Database Subsystem

OS Platform Services Subsystem

Plug-In Package Development Kit

Model Librarian Subsystem

Application Specification Subsystem

XML Services Subsystem

User Interface View Controller Subsystem

Hyperworx Core State Machine Subsystem

Figure 4

Hyperworx Platform Technical Disclosure [ Figure 4 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx System Output Overview

Useful improvement of current software application composition methodologies

Figure 5

Hyperworx Platform Technical Disclosure [ Figure 5 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx Deployed As a Software Development Tool

Hardware Platform (e.g. Intel®-based workstation or server)

Operating System Platform (e.g. Windows®, Linux)

Hyperworx deployed as a single, integrated binary software application

Full Hyperworx Graphical User Interface

Hyperworx Core (“Protein” Library)

HyperPack Plug-In Package Development Kit

ANSI Standard C++ Compiler

HyperPack Plug-In PackagesHyperPack Plug-In Packages

HyperPack Plug-In PackagesHyperPack Plug-In Packages

Custom Algorithms and Logic Transforms

CSDL-Encoded Model and Specification FilesCSDL-Encoded Model and Specification Files

CSDL-Encoded Model and Specification FilesCSDL-Encoded Model and Specification Files

Hyperworx deployed as a stand-alone server

Hyperworx Core (“Protein” Library)

Figure 6

Hyperworx Platform Technical Disclosure [ Figure 6 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx Deployed As a Software IP Syndication Platform

Hardware Platform (e.g. Intel®-based workstation or server)

Operating System Platform (e.g. Windows®, Linux)

Commoditized Hyperworx System Input

HyperPack binary plug-in packages

HyperPack binary plug-in packages

HyperPack binary plug-in packages

CSDL-format software model kits

CSDL-format software model kits

CSDL-format software model kits

Hyperworx deployed as a single, integrated binary software application

Reduced Feature (Simplified) Hyperworx Graphical User Interface

Hyperworx Core (“Protein” Library)

Figure 7

Hyperworx Platform Technical Disclosure [ Figure 7 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx Deployed As a Generic Application Server

Hardware Platform (e.g. Intel®-based workstation or server)

Operating System Platform (e.g. Windows®, Linux)

Hyperworx Core “Protein” Library Linked Into Generic Application Server Binary

Hyperworx Core (“Protein” Library)

Network Transport Subsystem

HyperPack binary plug-in packages

HyperPack binary plug-in packages

HyperPack binary plug-in packages

Library of installed HyperPack Plug-In Packages

XML-encoded service request (including the specification of the application to service the

request)

Request results returned in XML-format

LAN/WAN/Internet Transaction

Figure 8

Hyperworx Platform Technical Disclosure [ Figure 8 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx’ Circuit Metaphor :: Example Hardware System

All data can be thought of as signals. The hardware device shown above is a signal processing system that performs some logical processing on a set of data input signals in order to produce some set of data output signals. Generally speaking, the specific transformation of data input signals to data output signals in a hardware-based signal processing system is a function of the specific hardware components and the manner in which they are interconnected.

Platform Data Input / Output

User-Accessible Data Input / Output

Private Data Input / Output

Configuration Option

Fixed-Function Logic Device

Clock Signal Source

Socket Mechanism

Variable-Function Logic Device

An Example Hardware-Based Signal Processing System

Figure 9

Hyperworx Platform Technical Disclosure [ Figure 9 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx’ Circuit Metaphor :: Changing the Labels

For the purposes of discussing a software application’s architecture and composition, it is useful to draw analogies between hardware-based signal processing systems and software-based signal processing systems. This is valid because at a high level of abstraction hardware and software-based signal processing systems perform identically: both perform some logical processing on a set of input signals to produce a set of output signals.

Input / Output to the Operating System Services

Software Application User Interface

Input / Output to Other Software Applications

Software Application Build / Deploy Options

A Fixed-Function Software Algorithm Packaged as a Re-Usable Component

Asynchronous Data Source

Polymorphic Software Subsystem Interface Specification

Customizable Software Algorithm Packaged as a Re-Usable Component

A Relabeled Hardware-Based Signal Processing System

Figure 10

Hyperworx Platform Technical Disclosure [ Figure 10 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx’ Circuit Metaphor :: Mathematical Graph Models

In electrical engineering, digital hardware circuits are typically modeled as mathematical graphs in which the vertices represent discrete logic transforms and the edges represent interconnection wires. Similarly, software applications can be modeled using mathematical graphs in which the vertices represent software components and the edges represent interconnection protocols between the software components.

Software Application

SoftwareComponent

SoftwareComponent

SoftwareComponent

SoftwareComponent

SoftwareComponent

SoftwareComponent

SoftwareComponent

SoftwareComponent

SoftwareComponent

SoftwareComponent

SoftwareComponent

Figure 11

Hyperworx Platform Technical Disclosure [ Figure 11 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx Binary Plug-In Architecture

Binary Plug-In Package

Plug-In Entity FactoryIntrospection Interface

Binary Type Handler Plug-In

Introspection Interface

Design Engineer-Supplied Data Structure

Type HandlerType Handler

Type HandlerType Handler

Type Handler

Binary Filter Plug-In

Design Engineer-Supplied Algorithm

Data In

pu

ts

Data

Ou

tpu

ts

Runtime InterfaceIntrospection InterfaceFilterFilter

FilterFilter

Filter

Binary Plug-In PackageBinary Plug-In Package

Binary Plug-In PackageBinary Plug-In Package

Binary Plug-In PackageBinary Plug-In Package

Hyperworx Core

Plug-In Package Database Subsystem

Virtual Machine Loader Subsystem

Figure 12

Hyperworx Platform Technical Disclosure [ Figure 12 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx Binary Type and Pin Handler Plug-Ins

Pin Handler

Instantiation Interface

Runtime Interface

Multi-Context Table of Type Handler Data Structures

UUID Type Handler

Friendly Name String

Description String

UUID Pin Handler

Introspection Interface

Type Handler

UUID Type Handler

UUID Handler Revision

Handler Revision

Friendly Name String

Description String

Author String

Copyright String

License String

Introspection Interface

Data Structure

Figure 13

Hyperworx Platform Technical Disclosure [ Figure 13 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx Binary Filter Plug-Ins

Filter

UUID Filter

UUID Filter Revision

Filter Revision

Friendly Name String

Description String

Author String

Copyright String

License String

Introspection Interface

Binary Pin Map

Runtime Interface

Design Engineer-Supplied Algorithm

Binary Pin Map

Pin Handler Pin Handler Pin Handler Pin Handler …Pin Handler

Design-Engineer Supplied Algorithm

Figure 14

Hyperworx Platform Technical Disclosure [ Figure 14 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

HYP :: Hyperworx Binary Plug-In Package

Binary Plug-In Package

UUID Package

UUID Package Revis.

Package Revision

Friendly Name String

Description String

Author String

Copyright String

License String

Introspection Interface

Plug-In Entity Factory

FilterFilter

FilterFilter

Filter

Type HandlerType Handler

Type HandlerType Handler

Type HandlerPin Handler

Pin HandlerPin Handler

Pin HandlerPin Handler

Figure 15

Hyperworx Platform Technical Disclosure [ Figure 15 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PBM :: Hyperworx Platform Binding Map

Binary Type Handler Plug-In Alias Map

UUID Type Handler

UUID Handler Revision

UUID Type Handler Alias

UUID Type Handler Alias

UUID Handler Revision

UUID Type HandlerUUID Type Handler Alias

Binary Filter Plug-In Alias Map

UUID Filter AliasUUID Filter

UUID Filter Revision

UUID Filter

UUID Filter Revision UUID Filter Alias

UUID Filter Alias

Binary Type Handler Plug-In Alias Map

UUID Filter Pin AliasUUID Filter Pin

UUID Filter Pin Alias UUID Filter Pin

Platform Binding Map

Binary Type Handler Plug-In Alias Map

Binary Filter Plug-In Alias Map

Binary Filter Plug-In Pin Alias Map

UUID Binding Map

UUID Binding Map Revision

Binding Map Revision

Friendly Name String

Description String

Author String

Copyright String

License String

Internal Data StructuresXML Encoding

Figure 16

Hyperworx Platform Technical Disclosure [ Figure 16 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PBM :: Hyperworx Platform Binding Map XML Skeleton

Platform Binding Map

Binary Type Handler Plug-In Alias Map

Binary Filter Plug-In Alias Map

Binary Filter Plug-In Pin Alias Map

UUID Binding Map

UUID Binding Map Revision

Binding Map Revision

Friendly Name String

Description String

Author String

Copyright String

License String

<?xml version=“1.0”><platform_binding_map> <!-- begin header entities --> <uuid>CB21EAE9-147C-4e69-9FC3-9E95885FAE60</uuid> <uuid_revision>0805FB33-7008-4188-AB32-66A5D80DBAB7</uuid_revision> <revision_major>2</revision_major> <revision_minor>11</revision_minor> <friendly_name>Sample Platform Binding Map XML Skeleton File</friendly_name> <description>This file shows the basic form of an PBM XML document</description> <author>Encapsule Systems, Inc.</author> <copyright>Map copyright notice inserted here</copyright> <license>Map license terms inserted here</license> <!-- end header entities --> <!-- begin platform binding map --> <type_alias_map> <type_alias> <uuid_type>456B764E-3F7B-413f-861B-876DA7D98FD9</uuid_type> <uuid_type_revision>69393907-BE24-4fe6-A171-41816986060F</uuid_type_revision> <uuid_type_alias>1C418F14-7647-4917-B0D7-26D88CA03ACE</uuid_type_alias> </type_alias> <!-- and so on… --> </type_alias_map> <filter_alias_map> <filter_alias> <uuid_filter>D5E450A3-0C91-4065-9428-56F65EA070FD</uuid_filter> <uuid_filter_revision>3F413DCB-4212-45ae-992D-BCA246E38242</filter_revision> <uuid_filter_alias>38B4CB33-1314-4477-8DC4-B9746BC59F49</filter_alias> </filter_alias> <!-- and so on… --> </filter_alias_map> <pin_alias_map> <!-- same general format as above… --> </pin_alias_map> <!-- end platform binding map --></platform_binding_map>

Figure 17

Hyperworx Platform Technical Disclosure [ Figure 17 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML :: Hyperworx Portable Model Library

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

Header Entities

UUID Model Library

UUID Model Library Revision

Model Library Revision

Friendly Name String

Description String

Author String

Copyright String

License String

Visualization Primitive Manifest

Polygon Descriptors

Type Descriptor Manifest Entity

Type Descriptors

Processor Descriptor Manifest

Processor Descriptors

Socket Descriptor Manifest

Socket Descriptors

Module Descriptor Manifest

Module Descriptors

Bus Descriptor Manifest

Bus Descriptors

Figure 18

Hyperworx Platform Technical Disclosure [ Figure 18 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML :: Portable Model Library XML Skeleton

<?xml version=“1.0”><portable_model_library>

<!-- begin header entities --><uuid>CB21EAE9-147C-4e69-9FC3-9E95885FAE60</uuid><uuid_revision>0805FB33-7008-4188-AB32-66A5D80DBAB7</uuid_revision><revision_major>2</revision_major><revision_minor>11</revision_minor><friendly_name>Sample Portable Model Library XML Skeleton File</friendly_name><description>This file shows the basic form of an XPML document</description><author>Encapsule Systems, Inc.</author><copyright>Library copyright notice inserted here</copyright><license>Library license terms inserted here</license><!-- end header entities -->

<!-- begin library data --><visualization_primitives> … </visualization_primitives><type_manifest> … </type_manifest><processor_manifest> … </processor_manifest><socket_manifest> … </socket_manifest><module_manifest> … </module_manifest><bus_manifest> … </bus_manifest><!-- end library data -->

</portable_model_library>

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

Figure 19

Hyperworx Platform Technical Disclosure [ Figure 19 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML :: Visualization Primitives Entity

<visualization_primitives>

<!-- currently this mechanism only supports 2-dimensional polygonal shapes. we plan to extend this mechanism to support the specification of 3-dimensional volumes, and 2D scaleable bitmap images to support advanced visualization options in the Hyperworx user interface -->

<!-- two-dimensional shape definitions --> <polygon> <uuid>3CB57247-1DE0-4a14-85B0-64C8D06D7F06</uuid> <friendly_name>Square</friendly_name> <!-- (0,0) = upper left, (999999,999999) = lower right --> <vertices> <vertex><x>0</x><y>0</y></vertex> <vertex><x>999999</x><y>0</y></vertex> <vertex><x>999999</x><y>999999</y></vertex> <vertex><x>0</x><y>999999</y></vertex> <vertex><x>0</x><y>0</y></vertex> </vertices> </polygon> <!-- and so on… --> </polygon></visualization_primitives>

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

Figure 20

Hyperworx Platform Technical Disclosure [ Figure 20 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML :: Type Descriptor Entity

Binary Type Handler Plug-In

UUID Type Handler

UUID Handler Revision

Platform Binding Map

Binary Type Handler Plug-In Alias Map

UUID Type Handler

UUID Handler Revision

UUID Type Handler Alias

UUID Type Handler Alias

UUID Handler Revision

UUID Type HandlerUUID Type Handler Alias

<type_manifest> <type> <friendly_name>Acme Inc. Sales Order Data</friendly_name> <uuid>F9090C61-A8BD-4e96-97F8-A86FC1D924B9</uuid> <uuid_type_alias>1C418F14-7647-4917-B0D7-26D88CA03ACE</uuid_type_alias></type> <!-- and so on… --></type_manifest>

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

Figure 21

Hyperworx Platform Technical Disclosure [ Figure 21 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML :: Pins and Pin Descriptor Entities

Source and Sink Pins

Sink Pin

data flow

Source Pin

data flow

All pins are associated with a specific data type

Pin Connections

Type A Source Type B Sink

data flow

Source pin drives data to sink pin(s)

Type A Source Type A Sink

Pins must be associated with the same data type

A Source pin can drive an arbitrary number of compatible sink pins

<!-- several example source and sink pin descriptors --><!-- pin descriptors always appear nested in entities that will be introduced shortly -->

<pin_manifest>

<!-- standalone pins (attached to module or socket entity) --> <pin_source> <friendly_name>Example Type A Source Pin</friendly_name> <!-- UUID used to reference this pin within the context of this XPML document --> <uuid>258D872C-416A-4ddc-B30E-7CEA24A98BF1</uuid> <!-- UUID of a specific type descriptor --> <uuid_type>F9090C61-A8BD-4e96-97F8-A86FC1D924B9</uuid_type> <pin_source>

<pin_sink> <friendly_name>Example Type A Sink Pin</friendly_name> <uuid>9F0BD98F-0B00-4124-82D9-4195A7CE7C4C</uuid> <uuid_type>F9090C61-A8BD-4e96-97F8-A86FC1D924B9</uuid_type> </pin_sink>

<!-- pin attached to a processor entity --> <pin_source> <friendly_name>Example Type A Filter Source Pin</friendly_name> <uuid>BA5FDCB3-1575-4315-A7ED-9C967284A605</uuid> <uuid_type>F9090C61-A8BD-4e96-97F8-A86FC1D924B9</uuid_type> <uuid_pin_alias>7FBC49EB-D2DC-45b6-B9EE-88718A09FD82</uuid_pin_alias> </pin_source>

</pin_manifest>

Figure 22

Hyperworx Platform Technical Disclosure [ Figure 22 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

<processor_manifest> <processor> <friendly_name>Example Processor Descriptor</friendly_name> <description>Insert some descriptive text here</description> <uuid>E9030299-ED74-4bd8-A1E9-0FC0305A5518</uuid> <pin_manifest> <!-- exposed sink pins --> <pin_sink> <friendly_name>Example Type A Sink Pin</friendly_name> <uuid>E633695A-D319-4bca-B304-C7EC2C66D093</uuid> <uuid_type>F9090C61-A8BD-4e96-97F8-A86FC1D924B9</uuid_type> <uuid_pin_alias>579F1398-EBC3-4d51-AF7A-B2DA35EF1542</uuid_pin_alias> </pin_sink> <!-- and so on for all exposed sink pins --> <!-- unexposed, constant value sink pins --> <pin_sink> <friendly_name>Contant Value Type A Sink Pin</friendly_name> <uuid>B74C5041-0F6D-4de4-9D9E-6EC49B117436</uuid> <uuid_type>F9090C61-A8BD-4e96-97F8-A86FC1D924B9</uuid_type> <uuid_pin_alias>69BDFD02-9911-48af-8750-B5D13F8FCE84</uuid_pin_alias> <pin_sink_data></pin_sink_data> </pin_sink> <!-- and so on for all unexposed, constant sink pins --> <!-- exposed source pins --> <pin_source> <friendly_name>Example Type A Source Pin</friendly_name> <uuid>F6AA52E3-DACF-47ae-8A3C-C64E45D63D05</uuid> <uuid_type>F9090C61-A8BD-4e96-97F8-A86FC1D924B9</uuid_type> <uuid_pin_alias>7FBC49EB-D2DC-45b6-B9EE-88718A09FD82</uuid_pin_alias> </pin_source> <!-- and so on for all exposed source pins --> </pin_manifest> </processor> <!-- and so on for each binary filter… --></processor_manifest>

PML :: Processor Descriptor Entity

Processor Descriptor

Platform Binding Map

Binary Filter Plug-In

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

Figure 23

Hyperworx Platform Technical Disclosure [ Figure 23 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML :: Socket Descriptor Entity

Socket

Outer context

Outer context

Inner context

<socket_manifest>

<socket> <friendly_name>Example Socket Descriptor</friendly_name> <uuid>81300591-9EA1-4e70-8392-8796742FE9E5</uuid> <socket_visualization> <!-- UUID of a polygon shape to use for UI visualization --> <uuid_polygon>3CB57247-1DE0-4a14-85B0-64C8D06D7F06</uuid_polygon> </socket_visualization>

<pin_manifest> <!-- pins declared with respect to socket’s inner context --> <pin_sink> <friendly_name>Example Type A Sink Pin</friendly_name> <uuid>24A62E61-23E8-48b6-BA77-B17491932DBA</uuid> <uuid_type>F9090C61-A8BD-4e96-97F8-A86FC1D924B9</uuid_type> </pin_sink> <!-- and so on for all sink pins… --> <pin_source> <friendly_name>Example Type A Source Pin</friendly_name> <uuid>CEB6C7C9-1720-432f-943C-8D06DB6CE461</uuid> <uuid_type>F9090C61-A8BD-4e96-97F8-A86FC1D924B9</uuid_type> </pin_source> <!-- and so on for all source pins… --> </pin_manifest>

</socket> <!-- and so on for all socket descriptors… -->

</socket_manifest>

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

Figure 24

Hyperworx Platform Technical Disclosure [ Figure 24 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML :: Module Descriptor Entity

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

Modules comprise:

• A set of zero or more outer context pins• A set of zero or more inner context processors• A set of zero or more inner context sockets• A set of inner context pin connections (depicted as black lines in the figure)

Module

Processor

Processor

Processor

Socket

Socket

Processor

Socket

Inner context Outer contextOuter context

Figure 25

Hyperworx Platform Technical Disclosure [ Figure 25 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML :: Module Descriptor Entity XML Skeleton

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

<module_manifest> <module> <friendly_name>Example Module Descriptor</friendly_name> <description>Insert some description of the module here</description> <uuid>78F758E2-C426-489e-96C6-13FA2051B0CB</uuid>

<!-- bind this module to a specific shape and color --> <module_visualization> … </module_visualization>

<!-- declare outer context pins --> <pin_manifest> … </pin_manifest>

<!-– declare inner context subprocessors --> <subprocessor_manifest> … </subprocessor_manifest>

<!-- declare inner context subsockets --> <subsocket_manifest> … </subsocket_manifest>

<!-- declare inner context intramodule pin connections --> <pin_connection_manifest> … </pin_connection_manifest>

</module> <!-- and so on for all module descriptors -->

</module_manifest>

Figure 26

Hyperworx Platform Technical Disclosure [ Figure 26 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML :: Module Descriptor Visualization

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

<module_manifest> <module> <friendly_name>Example Module Descriptor</friendly_name> <description>Insert some description of the module here</description> <uuid>78F758E2-C426-489e-96C6-13FA2051B0CB</uuid>

<!-- bind this module to a specific shape and color --> <module_visualization>

<!-- we plan to extend this general mechanism to allow 2D icons to be filled with scaleable bitmaps (as opposed to single color), and to allow modules to be represented using 3D volumes and textures. These extensions of the existing mechanism should be claimed as they represent the basis for an entirely new type of of user interface that allows the user to manipulate objects in 3D space in order to build a software specification -->

<!-- UUID of a polygonal shape to use the this module’s 2D user interface icon --> <uuid_polygon>3CB57247-1DE0-4a14-85B0-64C8D06D7F06</uuid_polygon> <!-- a square --> <!-- assign a color to fill this module’s 2D user interface icon with --> <color_rgb_hex>0xFF0000</color_rgb_hex> <!-- red -->

</module_visualization>

<!-- declare outer context pins --> <pin_manifest> … </pin_manifest> <!-– declare inner context subprocessors --> <subprocessor_manifest> … </subprocessor_manifest> <!-- declare inner context subsockets --> <subsocket_manifest> … </subsocket_manifest> <!-- declare inner context intramodule pin connections --> <pin_connection_manifest> … </pin_connection_manifest>

</module> <!-- and so on for all module descriptors -->

</module_manifest>

Module as it will be visualized in the user interface (assumes no subsocket declarations)

Figure 27

Hyperworx Platform Technical Disclosure [ Figure 27 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML:: Module Descriptor Pin Manifest Entity

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

<module_manifest> <module> <friendly_name>Example Module Descriptor</friendly_name> <description>Insert some description of the module here</description> <uuid>78F758E2-C426-489e-96C6-13FA2051B0CB</uuid>

<!-- bind this module to a specific shape and color --> <module_visualization> … </module_visualization>

<!-- declare outer context pins --> <pin_manifest> <!–- pins declared with respect to the module’s outer context --> <pin_sink> <friendly_name>Example Type A Sink Pin</friendly_name> <uuid>C42D8E1C-7AA7-4605-B01F-C22357233F0F</uuid> <uuid_type>F9090C61-A8BD-4e96-97F8-A86FC1D924B9</uuid_type> </pin_sink> <!-- and so on for all outer context sink pins --> <pin_source> <friendly_name>Example Type A Source Pin</friendly_name> <uuid>200D00EF-CE29-49f9-958C-C888DF44FBE2</uuid> <uuid_type>F9090C61-A8BD-4e96-97F8-A86FC1D924B9</uuid_type> </pin_source> <!-- and so on for all outer context source pins --> </pin_manifest>

<!-– declare inner context subprocessors --> <subprocessor_manifest> … </subprocessor_manifest> <!-- declare inner context subsockets --> <subsocket_manifest> … </subsocket_manifest> <!-- declare inner context intramodule pin connections --> <pin_connection_manifest> … </pin_connection_manifest>

</module> <!-- and so on for all module descriptors -->

</module_manifest>

Module

Outer context sink pins

Outer context source pins

Figure 28

Hyperworx Platform Technical Disclosure [ Figure 28 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML:: Module Descriptor Subprocessor Manifest Entity

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

<module_manifest> <module> <friendly_name>Example Module Descriptor</friendly_name> <description>Insert some description of the module here</description> <uuid>78F758E2-C426-489e-96C6-13FA2051B0CB</uuid>

<!-- bind this module to a specific shape and color --> <module_visualization> … </module_visualization>

<!-- declare outer context pins --> <pin_manifest> … </pin_manifest>

<!-– declare inner context subprocessors --> <subprocessor_manifest> <subprocessor> <!-- UUID of a specific processor descriptor --> <uuid>E9030299-ED74-4bd8-A1E9-0FC0305A5518</uuid> <!-- UUID assigned to this specific instance of the processor identified above. This provides a mechanism for differentiating between multiple processors declared in the module’s inner context that may have the the same UUID --> <uuid_instance>56E3090D-3BCF-4a58-9034-AA1AEA9B2CE5</uuid_instance> </subprocessor> <!-- and so on for each processor declared in the module’s inner context --> </subprocessor_manifest>

<!-- declare inner context subsockets --> <subsocket_manifest> … </subsocket_manifest> <!-- declare inner context intramodule pin connections --> <pin_connection_manifest> … </pin_connection_manifest>

</module> <!-- and so on for all module descriptors -->

</module_manifest>

Module

ProcessorProcessor

ProcessorProcessor

Inner context

Figure 29

Hyperworx Platform Technical Disclosure [ Figure 29 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML:: Module Descriptor Subsocket Manifest Entity

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

Module

SocketSocket

SocketSocket

Inner context

<module_manifest> <module> <friendly_name>Example Module Descriptor</friendly_name> <description>Insert some description of the module here</description> <uuid>78F758E2-C426-489e-96C6-13FA2051B0CB</uuid> <!-- bind this module to a specific shape and color --> <module_visualization> … </module_visualization> <!-- declare outer context pins --> <pin_manifest> … </pin_manifest>

<!-– declare inner context subprocessors --> <subprocessor_manifest> … </subprocessor_manifest>

<!-- declare inner context subsockets --> <subsocket_manifest> <subsocket> <!-- UUID of specific socket descriptor --> <uuid>81300591-9EA1-4e70-8392-8796742FE9E5</uuid> <!-- UUID assigned to this specific socket instance --> <uuid_instance>981A5683-BBA7-4679-A60D-7EAF9CC91618</uuid_instance> <!-- metrics visualizing socket within the context of this module --> <subsocket_visualization> <polygon_extent>500000</polygon_extent> <polygon_origin><x>250000</x><y>250000</y></polygon_origin> </subsocket_visualization> </subsocket> <!-- and so on for each socket declared in the module’s inner context --> </subsocket_manifest>

<!-- declare inner context intramodule pin connections --> <pin_connection_manifest> … </pin_connection_manifest>

</module> <!-- and so on for all module descriptors -->

</module_manifest>

Figure 30

Hyperworx Platform Technical Disclosure [ Figure 30 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML:: Module Descriptor Pin Connection Manifest

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

<module_manifest> <module> <friendly_name>Example Module Descriptor</friendly_name> <description>Insert some description of the module here</description> <uuid>78F758E2-C426-489e-96C6-13FA2051B0CB</uuid> <module_visualization> … </module_visualization> <pin_manifest> … </pin_manifest> <subprocessor_manifest> … </subprocessor_manifest> <subsocket_manifest> … </subsocket_manifest>

<!-- declare inner context intramodule pin connections --> <pin_connection_manifest> <!-- a set of individual pin connections --> <pin_connection> <!-- data source --> <pin_source> <!-- here we declare a module sink pin as the source --> <!-- UUID of the module’s outer context sink pin --> <uuid>C42D8E1C-7AA7-4605-B01F-C22357233F0F</uuid> <!-- context-specific UUID (NULL = the module itself) --> <uuid_instance>00000000-0000-0000-000000000000</uuid_instance> </pin_source> <!-- data sink --> <pin_sink> <!-- here we declare a socket source pin as the sink --> <!-- UUID of the socket’s source pin --> <uuid>CEB6C7C9-1720-432f-943C-8D06DB6CE461</uuid> <!-- UUID of the specific socket we’re connecting to --> <uuid_instance>981A5683-BBA7-4679-A60D-7EAF9CC91618</uuid_instance> </pin_sink> <pin_connection> <!-- and so on for each intramodule (inner context) pin-to-pin connection --> </pin_connection_manifest>

</module> <!-- and so on for all module descriptors -->

</module_manifest>

Figure 31

Hyperworx Platform Technical Disclosure [ Figure 31 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML :: Module Descriptor Intramodule Pin Connection Rules

DATA SOURCE (TAIL)LEGAL DATA SINK (HEAD)

CONNECTIONSEXPLANATION

Module Sink Pin (data flowing into module from outer context)

Module Source Pin

Processor Sink Pin

Socket Source Pin

Module input drives module output directly

Module input drives processor input

Module input drives socket output

Module Source Pin (data flowing out of module from inner context) – INVALID DATA SOURCE

NO LEGAL CONNECTIONModule output can’t be assigned as the source of an internal connection

Processor Sink Pin (data flowing into processor from outer context) – INVALID DATA SOURCE

NO LEGAL CONNECTIONProcessor input can’t be assigned as the source of an internal connection

Processor Source Pin (data flowing out of processor from inner context)

Module Source Pin

Processor Sink Pin

Socket Source Pin

Processor output drives module output

Processor output drives another processor’s input

Processor output drives socket output

Socket Sink Pin (data flowing out of socket from inner context)

Module Source Pin

Processor Sink Pin

Socket Source Pin

Socket input drives module output

Socket input drives processor input

Socket input drives another socket’s output

Socket Source Pin (data flowing into socket from outer context) – INVALID DATA SOURCE

NO LEGAL CONNECTIONSocket output can’t be assigned as the source of an internal connection

Figure 32

Hyperworx Platform Technical Disclosure [ Figure 32 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PML :: Bus Connection Manifest Entity

Portable Model Library

Header Entities

Type Descriptor Manifest

Processor Descriptor Manifest

Socket Descriptor Manifest

Module Descriptor Manifest

Bus Descriptor Manifest

Visualization Primitive Manifest

Outer context

Socket

Outer context

Module

<!-- declare socket / module compatibility and insertion semantics --><bus_connection_manifest>

<bus_connection>

<friendly_name>Example Socket / Module Bus Descriptor</friendly_name> <!-- UUID assigned to this specific bus descriptor --> <uuid>B870ED5E-66CD-411d-BEBB-D4697BFABEA9</uuid> <!-- UUID of the socket descriptor --> <uuid_socket>81300591-9EA1-4e70-8392-8796742FE9E5</uuid_socket> <!-- UUID of a module that is compatible (can be inserted) into this socket --> <uuid_module>78F758E2-C426-489e-96C6-13FA2051B0CB</uuid_module>

<!-- insertion connection semantics --> <pin_connection_manifest> <!-- pin connections as a set of ordered source pin, sink pin pairs --> <pin_connection> <pin_source> <!-- UUID of the data source pin --> <!-- in this example this is a socket source pin --> <uuid>CEB6C7C9-1720-432f-943C-8D06DB6CE461</uuid> </pin_source> <pin_sink> <!-- UUID of the data sink pin --> <!-- in this example this is a module sink pin --> <uuid>C42D8E1C-7AA7-4605-B01F-C22357233F0F</uuid> </pin_sink> </pin_connection> <!-- and so on for each pin connection --> </pin_connection_manifest>

</bus_connection> <!-- and so on for each pair socket / module compatibility pair -->

</bus_connection_manifest>

Inner context

Figure 33

Hyperworx Platform Technical Disclosure [ Figure 33 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

SBM :: Hyperworx Semantic Binding Map

Semantic Binding Map

PML Module Alias Map

PML Socket Alias Map

UUID Binding Map

UUID Binding Map Revision

Binding Map Revision

Friendly Name String

Description String

Author String

Copyright String

License String

XML Encoding

PML Socket Alias Map

UUID Socket AliasUUID Socket

UUID Socket Alias UUID Socket

PML Module Alias Map

UUID Module

UUID Module Alias UUID Module

UUID Module Alias

UUID Module Subsocket Instance Alias Set

PML Module Subsocket Instance Alias Map

UUID Module Subsocket Instance Alias

UUID Module Subsocket Instance

UUID Module Subsocket Instance Alias

UUID Module Subsocket Instance

Internal Data Structures

Figure 34

Hyperworx Platform Technical Disclosure [ Figure 34 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

SBM :: Semantic Binding Map XML Skeleton

<?xml version=“1.0”><semantic_binding_map>

<!-- begin header entities --> <uuid>0CCCE44D-2F1D-42c9-AB08-8586074FB5F1</uuid> <uuid_revision>6D66A172-8059-4420-B9BA-7D65AB90777B</uuid_revision> <revision_major>1</revision_major> <revision_minor>8</revision_minor> <friendly_name>Sample Semantic Binding Map XML Skeleton File</friendly_name> <description>This file shows the basic form of an SBM XML document</description> <author>Encapsule Systems, Inc.</author> <copyright>Map copyright notice inserted here</copyright> <license>Map license terms inserted here</license> <!-- end header entities -->

<!-- begin semantic binding map data --> <module_alias_map> … </module_alias_map> <socket_alias_map> … </socket_alias_map> <!-- end semantic binding map data -->

</semantic_binding_map>

Semantic Binding Map

PML Module Alias Map

PML Socket Alias Map

Header Entities

Figure 35

Hyperworx Platform Technical Disclosure [ Figure 35 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

SBM :: Module Alias Map Entity

<?xml version=“1.0”><semantic_binding_map>

<!-- header entities -->

<!-- begin semantic binding map data -->

<module_alias_map>

<module_alias> <!-- UUID of the module from the Portable Model Library --> <uuid>78F758E2-C426-489e-96C6-13FA2051B0CB</uuid> <!-- alias UUID for this module --> <uuid_alias>28549287-B4B2-4cb7-B341-E642579F4ED9</uuid_alias>

<subsocket_instance_set> <!– UUID instance of module’s inner context socket (subsocket) --> <uuid_instance>981A5683-BBA7-4679-A60D-7EAF9CC91618</uuid_instance> <!-- alias UUID assigned to this subsocket --> <uuid_instance_alias>1BA111F6-AB75-497d-A615-FA435A771852</uuid_instance_alias> <subsocket_instance_set> <!-- and so on for each subsocket declared in the module’s inner context -->

<module_alias> <!-- and so on for each module in the Portable Model Library -->

</module_alias_map>

<socket_alias_map> … </socket_alias_map> <!-- end semantic binding map data -->

</semantic_binding_map>

Semantic Binding Map

PML Module Alias Map

PML Socket Alias Map

Header Entities

Figure 36

Hyperworx Platform Technical Disclosure [ Figure 36 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

SBM :: Module Subsocket Alias Map Entity

<?xml version=“1.0”><semantic_binding_map>

<!-- header entities -->

<!-- begin semantic binding map data --> <module_alias_map> … </module_alias_map>

<socket_alias_map>

<socket_alias> <uuid>81300591-9EA1-4e70-8392-8796742FE9E5</uuid> <uuid_alias>60BE31E2-60BC-4a09-B9EA-D172194B289F</uuid_alias> </socket_alias> <!-- and so on for each socket in the Portable Model Library -->

</socket_alias_map>

<!-- end semantic binding map data -->

</semantic_binding_map>

Semantic Binding Map

PML Module Alias Map

PML Socket Alias Map

Header Entities

Figure 37

Hyperworx Platform Technical Disclosure [ Figure 37 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PAS :: Hyperworx Portable Application Specification

Figure 38

Hyperworx Platform Technical Disclosure [ Figure 38 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PAS :: Header Entities

Figure 39

Hyperworx Platform Technical Disclosure [ Figure 39 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PAS :: Module Manifest Entity

Figure 40

Hyperworx Platform Technical Disclosure [ Figure 40 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

PPD :: Hyperworx Persistent Pin Data

Figure 41

Hyperworx Platform Technical Disclosure [ Figure 41 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Hyperworx Core (“Protein” Library) High-Level Block Diagram

Hyperworx Platform packaged and deployed as a single, integrated binary software application

Hyperworx Graphical User Interface View System

Hyperworx Core (“Protein” Library)

Virtual Machine Assembly Subsystem

Virtual Machine Analysis Subsystem

Virtual Machine Loader Subsystem

Virtual Machine Runtime Dispatch Subsystem

Plug-In Package Database Subsystem

OS Platform Services Subsystem

Plug-In Package Development Kit

Model Librarian Subsystem

Application Specification Subsystem

XML Services Subsystem

User Interface View Controller Subsystem

Hyperworx Core State Machine Subsystem

Figure 42

Hyperworx Platform Technical Disclosure [ Figure 42 ] • © 2003 Encapsule Systems, Inc. • Revised: 04/19/23

Re-usable diagram elements

Just ignore this slide.x