Patents by Inventor John Matthew Vlissides

John Matthew Vlissides 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: 6721807
    Abstract: An improved method and system is described for implementing double dispatch extensibly and efficiently in single-dispatch object-oriented programming languages. Objects of type Visitor encapsulate double dispatch functionality, while objects of type Element act as operands. Double dispatch takes place by calling Accept on an object of type Element, passing an object of type Visitor as an argument. Concrete classes of type Element are added in groups, each group deriving from an abstract subclass of Element. An AbstractElement class augments the Element interface with an Accept operation that takes an object of type AppVisitor as an argument, where AppVisitor is an abstract subclass of Visitor. AppVisitor overrides the base class Visit operation to test the type of its Element argument, casting it into an AppElement and calling its augmented Accept.
    Type: Grant
    Filed: January 22, 2001
    Date of Patent: April 13, 2004
    Assignee: International Business Machines Corporation
    Inventor: John Matthew Vlissides
  • Publication number: 20020099866
    Abstract: An improved method and system is described for implementing double dispatch extensibly and efficiently in single-dispatch object-oriented programming languages. Objects of type Visitor encapsulate double dispatch functionality, while objects of type Element act as operands. Double dispatch takes place by calling Accept on an object of type Element, passing an object of type Visitor as an argument. Concrete classes of type Element are added in groups, each group deriving from an abstract subclass of Element. An AbstractElement class augments the Element interface with an Accept operation that takes an object of type AppVisitor as an argument, where AppVisitor is an abstract subclass of Visitor. AppVisitor overrides the base class Visit operation to test the type of its Element argument, casting it into an AppElement and calling its augmented Accept.
    Type: Application
    Filed: January 22, 2001
    Publication date: July 25, 2002
    Applicant: International Business Machines Corporation Armonk, New York
    Inventor: John Matthew Vlissides
  • Patent number: 6219826
    Abstract: An improved method and system for visualizing an object-oriented program's execution in a manner that facilitates understanding, debugging, and tuning programs of arbitrary size and complexity by visually depicting a sequence of one or more messages to an object or between objects as a tree. Each node in the tree represents an object, and each edge represents a message between the objects. To manage the complexity of what is displayed, the user may elect to collapse subtrees so that they appear in abbreviated form. The user may expand collapsed subtrees so that they are visible in full. By selectively expanding and collapsing subtrees, the user can examine only those parts of the execution that are immediately relevant. The user may specify additional criteria for classifying subtrees, i.e., the conditions under which two subtrees are deemed equivalent. The system can then consolidate equivalent subtrees automatically, replacing them with a more general execution pattern that subsumes them all.
    Type: Grant
    Filed: August 1, 1996
    Date of Patent: April 17, 2001
    Assignee: International Business Machines Corporation
    Inventors: Wim De Pauw, John Matthew Vlissides, David Hod Lorenz, Mark N. Wegman