Patents by Inventor David A. Foti

David A. 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: 11226888
    Abstract: Systems and methods for function argument checking are disclosed. The systems and methods can use declarations and validation instructions based on the declarations. Validation instructions for a function can be generated automatically from a declaration for the function. The validation instructions can be executed in response to invocation of the function. The validation instructions can include instructions for determining whether an input satisfies a condition on a corresponding argument of the function, instructions for identifying a position of the input, and instructions for providing, in response to determining that the input does not satisfy the condition, an indication of the nonsatisfaction of the condition and the position. The condition can specify a datatype or size for the argument or one or more validation functions for checking the argument.
    Type: Grant
    Filed: January 14, 2020
    Date of Patent: January 18, 2022
    Assignee: The MathWorks, Inc.
    Inventors: Halldor N Stefansson, Bryan T White, David A Foti, Jianzhong Xue
  • Patent number: 10920579
    Abstract: A well monitoring system particularly useful in detecting kicks in the well includes a well, a well system, and a computing apparatus. The well defines a wellbore and the well system includes at least one sensor measuring at least one well condition. The computing apparatus hosts a well monitoring software component that performs a method to detect a kick in a well. The method includes: storing a set of real-time data from a measurement of a well condition by the sensor, the measurements being correlative to an unplanned fluid influx into the well; modeling the operation of the well with a physics-based, state space model of the well system to obtain an estimate of the well condition; and applying the real-time data set and the estimate to a probabilistic estimator to yield a probability of an occurrence of a kick and a confidence measure for the probability.
    Type: Grant
    Filed: February 17, 2016
    Date of Patent: February 16, 2021
    Assignees: Board of Regents, The University of Texas System, BP Corporation North America Inc.
    Inventors: Joseph J. Beaman, Jr., Scott Fish, David A. Foti, Warren J. Winters
  • Publication number: 20200379739
    Abstract: Processing external code includes: parsing the external code to identify a first semantic entity, mapping the first semantic entity to a second semantic entity, the first semantic entity comprising a first set of one or more specified attributes and the second semantic entity comprising a second set of one or more attributes that are capable of being specified, determining that a first attribute of the second set of one or more attributes does not have a corresponding specified attribute within the first set of one or more specified attributes, determining available information for specifying the first attribute of the second set of one or more attributes, and storing the second semantic entity in association with the first attribute of the second set of one or more attributes specified based on user selection or specifying the first attribute in response to available information provided to a user interface system.
    Type: Application
    Filed: May 31, 2019
    Publication date: December 3, 2020
    Inventors: Vivek Bhownani, Alexander C. Feinman, Fazil Peermohammed, David A. Foti, Ebrahim Mehran Mestchian, Yao Ren, Vijaya Raghavan, Peter S. Szpak, Matthew Englehart, Roy Mathew, Emmanuel Roy, Dekun Pei, Jianhao Du, Antoine Requet, Shailesh Shashikant Nirgudkar
  • Patent number: 10831456
    Abstract: Processing external code includes: parsing the external code to identify a first semantic entity, mapping the first semantic entity to a second semantic entity, the first semantic entity comprising a first set of one or more specified attributes and the second semantic entity comprising a second set of one or more attributes that are capable of being specified, determining that a first attribute of the second set of one or more attributes does not have a corresponding specified attribute within the first set of one or more specified attributes, determining available information for specifying the first attribute of the second set of one or more attributes, and storing the second semantic entity in association with the first attribute of the second set of one or more attributes specified based on user selection or specifying the first attribute in response to available information provided to a user interface system.
    Type: Grant
    Filed: May 31, 2019
    Date of Patent: November 10, 2020
    Assignee: The MathWorks, Inc.
    Inventors: Vivek Bhownani, Alexander C. Feinman, Fazil Peermohammed, David A. Foti, Ebrahim Mehran Mestchian, Yao Ren, Vijaya Raghavan, Peter S. Szpak, Matthew Englehart, Roy Mathew, Emmanuel Roy, Dekun Pei, Jianhao Du, Antoine Requet, Shailesh Shashikant Nirgudkar
  • Patent number: 10649744
    Abstract: Apparatus and methods are described for adapting a programming environment to handle renamed programming constructs such as classes and packages. Non-canonical identifiers that reference renamed programming constructs can be used in code parts to be executed in the programming environment, and the code parts can execute, without disruption or user intervention, using related canonical identifiers. The solutions described herein provide backward and forward compatibility for code and data affected by renaming of programming constructs.
    Type: Grant
    Filed: November 30, 2018
    Date of Patent: May 12, 2020
    Assignee: The MathWorks, Inc.
    Inventors: Jennifer Black, Xiao Xu, David Foti
  • Publication number: 20180106140
    Abstract: A system includes a tubular member (60) including a radially outer surface (60c) and a sensor assembly (128). The sensor assembly includes a strain sensor coupled to the radially outer surface. In addition, the sensor assembly includes a first coating having (134) a first hardness and a first tensile strength. The first coating encases the strain sensor (131,130) and at least part (64) of the outer surface. Further, the sensor assembly includes a second coating (136) having a second hardness that is greater than the first hardness and a second tensile strength that is greater than the first tensile strength. The second coating encases the first coating and at least another part (68) of the radially outer surface.
    Type: Application
    Filed: April 15, 2016
    Publication date: April 19, 2018
    Applicant: BP Corporation North America Inc.
    Inventors: Mark Francis Barrilleaux, David Foti, John D. Henderson, Jerry Henkener, Jerome Leonard, Kyle Robinson, Mark Waldron
  • Patent number: 9740458
    Abstract: In an embodiment, a system may include a processor having memory storing processor-executable instructions for a programming environment. The processor may perform the following instructions. A first, second, and third class may be defined. The second class may be defined as being compatible with the first class. The third class may be defined as being incompatible with the first class. A fourth class may be defined as a subclass of both the first class and the second class. A fifth class may be prevented from being a subclass of both the first class and the third class.
    Type: Grant
    Filed: March 30, 2015
    Date of Patent: August 22, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Jennifer A. Black, David A. Foti
  • Patent number: 9710242
    Abstract: A method and apparatus, including a computer program apparatus, which facilitate invoking methods defined within a second language system from a first language system. When a method is invoked from the first language system, the techniques automatically compare the output parameters of the first language system method with the number and data-types of parameters output by methods defined within the second language system. Based on this comparison, the invention selects a method that best matches the output signature of the invoked method. The invention, therefore, allows a user to easily invoke methods from external objects, such as C# objects, directly from the first language system.
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: July 18, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Fazil Peermohammed, David A. Foti
  • Patent number: 9703532
    Abstract: A device may detect a modification of a class, included in program code, from a first class definition to a second class definition that is different from the first class definition. The device may create a relationship indicator that references the second class definition and that indicates that the class has been modified. The device may store an association between the class and the relationship indicator. The device may access an instance of the class associated with the first class definition. The device may detect the association between the class and the relationship indicator based on accessing the instance of the class. The device may update the instance of the class, using the second class definition, based on detecting the association between the class and the relationship indicator.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: July 11, 2017
    Assignee: The MathWorks, Inc.
    Inventors: David A. Foti, Jennifer A. Black, Marc A. Greenberg
  • Patent number: 9665348
    Abstract: A device may provide an interface for an interactive programming environment and may receive a command to display information about an object. The device may provide, based on the command, the information about the object, using: a first display interface that presents the information about the object in a first format that is applicable to users of the object. A second display interface, for the object, may present the information about the object in a second format, different from the first format, the second format including information about the object that is applicable to authors of the class or to authors of subclasses corresponding to the object. The first and second display interface may present the information, about the object, based on a state of the object and/or based on a display section of the information (e.g., certain information may be presented in a header section of the display).
    Type: Grant
    Filed: June 6, 2012
    Date of Patent: May 30, 2017
    Assignee: The MathWorks, Inc.
    Inventors: Jennifer Anne Black, Michelle T. Hirsch, David A. Foti
  • Patent number: 9612940
    Abstract: A device receives test methods that include input arguments that match parameters. The test methods are used to test one or more portions of dynamically-type programming code, and the parameters define conditions for the test methods. The device receives one or more values for each of the parameters, and applies the parameters and the one or more values to different ones of the test methods. The device executes the different ones of the test methods, with the applied parameters and the applied one or more values, to generate results, and outputs or stores the results.
    Type: Grant
    Filed: May 31, 2013
    Date of Patent: April 4, 2017
    Assignee: The MathWorks, Inc.
    Inventors: David Hruska, Andrew T. Campbell, David A. Foti, David M. Saxe
  • Patent number: 9600411
    Abstract: A system and method determines an object's lifetime. An object lifecycle engine may work with an object oriented environment. As objects are created, an object graph may be constructed having one or more roots. A root record graph may be constructed, and edges of the root record graph may point in an opposite direction than the edges of the object graph. As objects, entities, and references are added, removed, or deleted from within the environment, the object graph and the root record graph may be updated. A root finder may search the root record graph to determine whether a given root record is no longer rooted. If a root record is no longer rooted, then the object associated with that root record may be determined to be unreachable and at the end of its lifetime. If the root finder search is performed when references are removed, then objects may be destroyed in a deterministic manner.
    Type: Grant
    Filed: March 31, 2011
    Date of Patent: March 21, 2017
    Assignee: The MathWorks, Inc.
    Inventor: David A. Foti
  • Patent number: 9529981
    Abstract: In an embodiment, a feature is an aspect of a class which represents information, data, behaviors, or capabilities encapsulated by the class. An accessing class may be given access to one or more specified features encapsulated by an accessed class, without gaining access to other features encapsulated by the accessed class. Accordingly, special access may be granted only to the behavior and data specifically designed for the accessing class, without allowing the accessing class access to all private data and behaviors of the accessed class, and without allowing all classes in a package access to the accessed class.
    Type: Grant
    Filed: October 9, 2014
    Date of Patent: December 27, 2016
    Assignee: The MathWorks, Inc.
    Inventor: David A. Foti
  • Publication number: 20160237810
    Abstract: A well monitoring system particularly useful in detecting kicks in the well includes a well, a well system, and a computing apparatus. The well defines a wellbore and the well system includes at least one sensor measuring at least one well condition. The computing apparatus hosts a well monitoring software component that performs a method to detect a kick in a well. The method includes: storing a set of real-time data from a measurement of a well condition by the sensor, the measurements being correlative to an unplanned fluid influx into the well; modeling the operation of the well with a physics-based, state space model of the well system to obtain an estimate of the well condition; and applying the real-time data set and the estimate to a probabilistic estimator to yield a probability of an occurrence of a kick and a confidence measure for the probability.
    Type: Application
    Filed: February 17, 2016
    Publication date: August 18, 2016
    Inventors: Joseph J. Beaman, JR., Scott Fish, David A. Foti, Warren J. Winters
  • Patent number: 9395963
    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: Grant
    Filed: August 6, 2007
    Date of Patent: July 19, 2016
    Assignee: The MathWorks, Inc.
    Inventor: David A. Foti
  • Patent number: 9311111
    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: Grant
    Filed: July 10, 2008
    Date of Patent: April 12, 2016
    Assignee: The Mathworks, Inc.
    Inventor: David A. Foti
  • Patent number: 9201763
    Abstract: A device receives a first test class associated with a first fixture. The first test class includes first method(s) to test portion(s) of dynamically-type programming code, and the first fixture defines first environment(s) for the first method(s). The device receives a second test class associated with the first fixture and a second fixture. The second test class includes second method(s) to test the code portion(s). The first fixture defines the first environment(s) for the second method(s), and the second fixture defines second environment(s) for the second method(s). The device combines the first method(s) of the first test class and the second method(s) of the second test class to create a test group, and analyzes the test group to determine whether the test group is correctly organized based on the first fixture and the second fixture. The device provides a reorganized test group when the test group is incorrectly organized.
    Type: Grant
    Filed: May 31, 2013
    Date of Patent: December 1, 2015
    Assignee: The MathWorks, Inc.
    Inventors: David Hruska, Andrew T. Campbell, David M. Saxe, David A. Foti
  • Patent number: 9146750
    Abstract: A system obtains code that includes sequences of code; identifies, within a first sequence of code and based on obtaining the code, a first routine that, when executed, enables an array of values to be generated. The array of values is associated with a variable included within the first routine. The system determines whether the routine includes a particular term, and identifies, within the routine, a first identifier when the routine includes the particular term. The first identifier corresponds to a second sequence of code that identifies a first data structure that stores information that identifies one or more second routines. The system identifies, within the data structure, a second routine based on the particular term and a second identifier corresponding to the first routine; executes, using the variable, the second routine to generate a result; and outputs the result based on executing the second routine.
    Type: Grant
    Filed: August 10, 2012
    Date of Patent: September 29, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Thomas Albert Bryan, Julia Palmateer Wall, David A. Foti
  • Patent number: 9015661
    Abstract: In an embodiment, a system may include a processor having memory storing processor-executable instructions for a programming environment. The processor may perform the following instructions. A first, second, and third class may be defined. The second class may be defined as being compatible with the first class. The third class may be defined as being incompatible with the first class. A fourth class may be defined as a subclass of both the first class and the second class. A fifth class may be prevented from being a subclass of both the first class and the third class.
    Type: Grant
    Filed: June 23, 2011
    Date of Patent: April 21, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Jennifer A. Black, David A. Foti
  • Patent number: 8966456
    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: Grant
    Filed: July 17, 2006
    Date of Patent: February 24, 2015
    Assignee: The MathWorks, Inc.
    Inventor: David A. Foti