Patents by Inventor David Foti

David Foti has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7725904
    Abstract: When a method is invoked from a computing environment, techniques presented herein automatically compare array input parameters with data-types accepted by methods defined within the object-oriented environment. Based on this comparison, the invention selects a method that best accepts the input arrays. The invention, therefore, allows a user to easily invoke methods from external objects, such as Java objects, directly from the technical computing environment of the mathematical tool.
    Type: Grant
    Filed: May 22, 2006
    Date of Patent: May 25, 2010
    Assignee: The MathWorks, Inc.
    Inventors: David A. Foti, Charles G. Nylander
  • Publication number: 20090183139
    Abstract: In an embodiment, a technique for acquiring a class definition of a class, the class associated with an enumeration, the enumeration enumerating a partial list of instances of the class; generating a data structure based on the class definition, the data structure associating one or more identifiers with an instance enumerated in the enumeration; and storing the data structure in a computer storage
    Type: Application
    Filed: January 9, 2009
    Publication date: July 16, 2009
    Applicant: THE MATHWORKS, INC.
    Inventors: David FOTI, Paul JACKSON
  • Publication number: 20090150430
    Abstract: A configurable class system for an application author working in an application development environment that automates the handling of undo, redo and logging operations is discussed. The configurable class system removes the burden from the application author of having to custom manage undo, redo and logging information during application writing by providing the necessary mechanisms to every application object created. The configurable class system also allows the application author to handle exceptional state changes in an application by configuring the underlying base classes provided by the configurable class system. Additionally, the embodiments of the present invention enable the application author to customize the compression of a series of identified operations by selecting the type of operations that are to be compressed and the manner in which the compression is to occur.
    Type: Application
    Filed: August 6, 2007
    Publication date: June 11, 2009
    Applicant: The MathWorks, Inc.
    Inventor: David A. Foti
  • Publication number: 20090077121
    Abstract: A mechanism for providing automatic interoperation between native objects created in a single language computing environment and objects created in external virtual machines and foreign class systems is discussed. Embodiments of the present invention provides a class definition syntax for objects created in the single language computing environment that provides the ability to directly subclass external classes and implement external interfaces. One embodiment of the present invention also permits a foreign object system to instantiate native objects and to create foreign subclasses of native classes. More specifically, one embodiment of the present invention provides bidirectional mapping between metadata associated with objects created with each of a plurality of different types of foreign object systems and metadata created in a form supported by the single language computing environment.
    Type: Application
    Filed: July 30, 2007
    Publication date: March 19, 2009
    Applicant: The MathWorks, Inc.
    Inventor: David A. Foti
  • Publication number: 20090077536
    Abstract: A language processing environment provides facilities for defining and using handle classes. A handle class is a class that always and only exists as a handle to stored data, yet that data is accessed in the same manner as with non-handle classes. The language processing environment provides syntax such that all values in the language are members of some class and all classes are defined using the same syntax. Methods and properties are supported on both handle and non-handle classes.
    Type: Application
    Filed: July 10, 2008
    Publication date: March 19, 2009
    Applicant: The Mathworks, Inc.
    Inventor: David A. Foti
  • Publication number: 20080162549
    Abstract: A configurable class system for an application author working in an application development environment that automates the handling of undo, redo and logging operations is discussed. The configurable class system removes the burden from the application author of having to custom manage undo, redo and logging information during application writing by providing the necessary mechanisms to every application object created. The configurable class system also allows the application author to handle exceptional state changes in an application by configuring the underlying base classes provided by the configurable class system. Additionally, the embodiments of the present invention enable the application author to customize the compression of a series of identified operations by selecting the type of operations that are to be compressed and the manner in which the compression is to occur.
    Type: Application
    Filed: December 29, 2006
    Publication date: July 3, 2008
    Applicant: The MathWorks, Inc.
    Inventor: David A. Foti
  • Publication number: 20080114804
    Abstract: A mechanism for providing automatic interoperation between native objects created in a single language computing environment and objects created in external virtual machines and foreign class systems is discussed. Embodiments of the present invention provides a class definition syntax for objects created in the single language computing environment that provides the ability to directly subclass external classes and implement external interfaces. One embodiment of the present invention also permits a foreign object system to instantiate native objects and to create foreign subclasses of native classes. More specifically, one embodiment of the present invention provides bidirectional mapping between metadata associated with objects created with each of a plurality of different types of foreign object systems and metadata created in a form supported by the single language computing environment.
    Type: Application
    Filed: November 10, 2006
    Publication date: May 15, 2008
    Applicant: The MathWorks, Inc.
    Inventor: David A. Foti
  • Publication number: 20070288892
    Abstract: A class definition syntax that leverages the array and math-oriented nature of a dynamically typed array-based programming language is discussed. Some embodiments of the present invention provides a mechanism for using meta-data to define a class implemented in the dynamically typed array-based programming language. The meta-data provide an easy way to provide class definitions and allow a user to access the class definitions from objects. The meta-data also support extension of class definitions without introducing backward incompatibility.
    Type: Application
    Filed: July 17, 2006
    Publication date: December 13, 2007
    Applicant: The MathWorks, Inc.
    Inventor: David A. Foti
  • Publication number: 20070226688
    Abstract: A class definition syntax that leverages the array and math-oriented nature of a dynamically typed array-based programming language is discussed. The present invention provides a simplified mechanism for the creation of element-wise methods. Additionally, a mechanism for defining derived classes in a dynamically typed array-based programming language using mathematical set notation and semantics is also supported.
    Type: Application
    Filed: March 24, 2006
    Publication date: September 27, 2007
    Applicant: The MathWorks, Inc.
    Inventor: David Foti
  • Patent number: 7237237
    Abstract: A method for controlling disposition of a candidate object in an object-oriented programming environment is disclosed. The method may include the step of determining the number of cyclic paths that include the candidate object in the object-oriented programming environment. The method may also include the step of determining a number of internal references to the candidate object. The internal references are references from other objects in the object-oriented programming environment. The method may control the disposition of the candidate object on the basis of a predetermined relationship between the number of the internal references and the number of the cyclic paths.
    Type: Grant
    Filed: July 24, 2001
    Date of Patent: June 26, 2007
    Assignee: The Mathworks, Inc.
    Inventor: David A. Foti
  • Patent number: 7181745
    Abstract: A method, system and apparatus, including a computer program apparatus, implementing techniques for dynamically creating a class and an object in an external computing environment. The method, system and apparatus allow the creation of an adapter class, capable of implementing a listener interface, during runtime.
    Type: Grant
    Filed: March 3, 2000
    Date of Patent: February 20, 2007
    Assignee: The MathWorks, Inc.
    Inventor: David A. Foti
  • Publication number: 20060212881
    Abstract: The illustrative embodiment of the present invention provides a method for extending a programming language to interact with foreign object systems. Through the use of an opaque interface, a requesting unit may interact with multiple foreign object systems. The requesting unit is an executable piece of code such as a script, applet or application. A single set of procedures written into the opaque interface and accessible by the requesting unit enable the requesting unit to interact with the foreign object systems. The foreign object systems register with the opaque interface. The registration process for the object systems includes the creation and registration of a defined set of functions, the format for which is provided by the opaque interface. The defined set of functions are called by the procedures in the opaque interface and execute in the object system.
    Type: Application
    Filed: May 22, 2006
    Publication date: September 21, 2006
    Applicant: The MathWorks, Inc.
    Inventors: Charles Nylander, Cheryl Jones, David Foti
  • Publication number: 20060212882
    Abstract: A method and apparatus, including a computer program apparatus, which facilitate invoking methods of objects defined within an object-oriented environment from an array-based technical computing environment often used in conventional mathematical tools. When a method is invoked from the computing environment, the techniques automatically compare the array input parameters with data-types accepted by methods defined within the object-oriented environment. Based on this comparison, the invention selects a method that best accepts the input arrays. The invention, therefore, allows a user to easily invoke methods from external objects, such as Java objects, directly from the technical computing environment of the mathematical tool.
    Type: Application
    Filed: May 22, 2006
    Publication date: September 21, 2006
    Applicant: The MathWorks, Inc.
    Inventors: David Foti, Charles Nylander
  • Patent number: 7051338
    Abstract: A method and apparatus, including a computer program apparatus, which facilitate invoking methods of objects defined within an object-oriented environment from an array-based technical computing environment often used in conventional mathematical tools. When a method is invoked from the computing environment, the techniques automatically compare the array input parameters with data-types accepted by methods defined within the object-oriented environment. Based on this comparison, the invention selects a method that best accepts the input arrays. The invention, therefore, allows a user to easily invoke methods from external objects, such as Java objects, directly from the technical computing environment of the mathematical tool.
    Type: Grant
    Filed: March 3, 2000
    Date of Patent: May 23, 2006
    Assignee: The MathWorks, Inc.
    Inventors: David A. Foti, Charles G. Nylander
  • Patent number: 7051333
    Abstract: The illustrative embodiment of the present invention provides a method for extending a programming language to interact with foreign object systems. Through the use of an opaque interface, a requesting unit may interact with multiple foreign object systems. The requesting unit is an executable piece of code such as a script, applet or application. A single set of procedures written into the opaque interface and accessible by the requesting unit enable the requesting unit to interact with the foreign object systems. The foreign object systems register with the opaque interface. The registration process for the object systems includes the creation and registration of a defined set of functions, the format for which is provided by the opaque interface. The defined set of functions are called by the procedures in the opaque interface and execute in the object system.
    Type: Grant
    Filed: July 24, 2001
    Date of Patent: May 23, 2006
    Assignee: The MathWorks, Inc.
    Inventors: Charles G. Nylander, Cheryl L. Jones, David A. Foti
  • Publication number: 20030023768
    Abstract: A method for controlling disposition of a candidate object in an object-oriented programming environment includes determining a first value indicative of a number of references to the candidate object that are not references from other objects; and controlling disposition of the object on the basis of the first value.
    Type: Application
    Filed: July 24, 2001
    Publication date: January 30, 2003
    Inventor: David A. Foti