Programming Language Patents (Class 717/114)
  • Patent number: 8108827
    Abstract: Video, stills, panorama, sound and all forms of media as Rich Media in a Multimedia Vehicle Repository (MVR) file editable with a Rich Media Content description file. The Rich Media Content description file enables users to specify a vocabulary that defines the media elements and relations among the media elements thereby permitting the users to easily create and edit the Rich Media Content and compose various raw or compressed Rich Media components using any text editor. A multimedia authoring server side processor accepts the raw formatted Rich Media Content along with description text file in XML format and outputs the Rich Media, text and graphic components as an edited MVR file in accordance with user's design for execution on a multimedia player.
    Type: Grant
    Filed: March 28, 2008
    Date of Patent: January 31, 2012
    Assignee: International Business Machines Corporation
    Inventors: Hua Chen, Shu-Chun Jeane Chen, Pierre Darmon, Shang Q. Guo, Keeranoor G. Kumar, Edward C. Snible, Kshitij M. Vichare
  • Patent number: 8104016
    Abstract: Systems and methods of scalable language infrastructure for electronic system level tools. In accordance with embodiments of the present invention, knowledge about types, functions and the like is encapsulated in a plurality of intelligent components called active component extension modules that are external to the infrastructure. The infrastructure implements a communication mechanism between the clients and these intelligent components, and acts as a common backbone. The infrastructure itself does not maintain any knowledge about any client, types, functions, etc. In accordance with a method embodiment of the present invention, a request is received from a client of a language infrastructure. The request is forwarded from the language infrastructure to an active component extension module. The active component extension module performs a service responsive to the request.
    Type: Grant
    Filed: February 17, 2006
    Date of Patent: January 24, 2012
    Assignee: Synopsys, Inc.
    Inventors: Rajesh Kumar, Sanjay Kumar Jain
  • Patent number: 8103495
    Abstract: Modeling protocols. A method includes accessing a number of model programs. Each model program includes computer-executable instructions. The computer-executable instructions describe the behavior of at least one of another program, system, or component. Model programs may be disjointed in that they have independent meaning or dependent in that they include at least one of a state variable, action, or precondition that is dependent on another model program to impart meaning to the model program. An output model program is composed by unification including substituting state variables into another of the model programs without executing the model programs. Traces are generated from the output model program. Each of the traces includes a path of labels. The labels describe actions of the output model program from an initial state to an accepting state where a run is allowed to stop. The traces are output to a user.
    Type: Grant
    Filed: August 8, 2007
    Date of Patent: January 24, 2012
    Assignee: Microsoft Corporation
    Inventors: Margus Veanes, Colin Campbell, Wolfram Schulte
  • Patent number: 8091069
    Abstract: A language for the specification of object-oriented modules is disclosed. The specification language is processed by a computer-implemented parser to produce an object-oriented data structure. Expressions in the specification language may include specifications of modules, classes, and class members. Expressions in the specification language may include predicate expressions which permit general-purpose declarative specifications pertaining to modules, classes, and members.
    Type: Grant
    Filed: April 11, 2007
    Date of Patent: January 3, 2012
    Inventor: Alan S. Rojer
  • Patent number: 8091067
    Abstract: A method for hosting a programming environment and processing user input includes the step of receiving, during a first session between a user and an interaction environment, via one of a plurality of media gateways, a definition of an expression type, the definition specifying an expression format and a response type. The definition is stored. During a second session between a second user and the interaction environment, an expression having a semantic structure is received, from a user, via one of a plurality of media gateways. The semantic structure of the expression is evaluated. An expression format of the received expression is identified as the expression format specified by the definition of the expression type, responsive to the evaluation. A response to the expression is generated responsive to an execution of a computer program associated with the response type specified by the definition of the expression type.
    Type: Grant
    Filed: January 12, 2007
    Date of Patent: January 3, 2012
    Assignee: SAS Institute Inc.
    Inventors: Emmanuel Roche, Yves Schabes
  • Patent number: 8091066
    Abstract: A system, method and program product for implementing an automated multi-platform build and run operation for a software application. A system is provided that comprises: a control process loadable on a host platform, wherein the control process causes the software application to be built and run on both the host platform and a set of remote platforms; and a results manager that captures build and run results from the host platform and the set of remote platforms, and stores the build and run results in a centralized database.
    Type: Grant
    Filed: August 25, 2004
    Date of Patent: January 3, 2012
    Assignee: International Business Machines Corporation
    Inventor: Paul R. Fiore
  • Publication number: 20110321008
    Abstract: GUI form code comprising a set of GUI elements can be imported. A user interface description can be generated from the GUI form code that has an element corresponding to each GUI element. For each user interface element converted from a corresponding to one of the GUI elements, a user interface element type can be determined as can temporal associations between the user interface elements. A Conversation User Interface (CUI) code corresponding to the GUI form code can be created from the user interface description. When creating the CUI code for each of the user interface elements, different and rules to convert the user interface element into CUI code can be used depending on a user interface element type of the user interface element being converted. When creating the CUI code, the user interface elements can be temporally ordered based on the pre-determined spatio-temporal associations between the graphical user interface (GUI) elements.
    Type: Application
    Filed: June 28, 2010
    Publication date: December 29, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: ALBEE JHONEY, PRAVEEN K. VAIDYANATHAN
  • Publication number: 20110314448
    Abstract: A method and a system for using synthetic partitioning constraints to impose design patterns containing desired design features (e.g., distributed logic for a threaded, multicore based computation) onto logical architectures (LA) specifying an implementation neutral computation. The LA comprises computational specifications and related logical constraints (i.e., defined by logical assertions) that specify provisional loops and provisional partitionings of those loops. The LA contains virtually no programming language constructs. Synthetic partitioning constraints add implementation specific design patterns. They define how to find frameworks with desired design features, how to reorganize the LA to accommodate the frameworks, and how to map the computational payload from the LA into the frameworks.
    Type: Application
    Filed: August 27, 2011
    Publication date: December 22, 2011
    Inventor: Ted James Biggerstaff
  • Publication number: 20110307859
    Abstract: Using language add-ins with one or more static extensibility points of an application host. The method includes searching for user code in a user code store. Some user code is found in the user code store. A determination is made as to the language of the user code from among a plurality of predefined languages. The user code is provided to a language provider for the determined language. A function invocation is received from an application host. The function invocation is matched to at least a portion of the user code. The at least a portion of user code corresponding to the function invocation is executed via the language provider.
    Type: Application
    Filed: June 15, 2010
    Publication date: December 15, 2011
    Applicant: Microsoft Corporation
    Inventors: Curt Oliver Hagenlocher, Anthony Moore, John Lam
  • Patent number: 8069438
    Abstract: Facilitating declaration of a class or function using a programming language that is not a class-based object-oriented programming (OOP) language is disclosed. A call to a function, defined using the programming language, that has a name that is a near variant of the reserved word “class” is received. In response to the call, a new function that includes, if applicable, the methods and variables of a parent function designated, using a syntax that is a near variant of a corresponding class-based OOP syntax, to be a super class of the new function and includes one or more methods, variables, or both designated, using a syntax that is a near variant of a corresponding class-based OOP syntax, to be implemented by the new function is defined programmatically.
    Type: Grant
    Filed: June 8, 2007
    Date of Patent: November 29, 2011
    Assignee: Apple Inc.
    Inventor: Benoit Marchant
  • Patent number: 8065655
    Abstract: A utility transforms a class diagram representing an ontology, such as a UML class diagram, into a fully-described, standard representation of an ontology such as OWL file. It may be based on Rational Software Architect (RSA) and its model transformation capabilities. The RSA transformation framework uses a Visitor-like pattern for iterating over all of the UML elements in a UML diagram. The framework allows the developer to configure ‘Rule’ classes that are executed when different types of UML elements are encountered. Each UML element is visited once, which causes each rule to be fired for each element type. Rules are configured for just those UML types that are of interest to the transformation, for example classes, primitives, properties, packages and instances. Each rule in the implementation is then written to delegate to a Registrar class, which has a method for building the ontology model from the registered UML elements.
    Type: Grant
    Filed: June 20, 2006
    Date of Patent: November 22, 2011
    Assignee: International Business Machines Corporation
    Inventors: Shardul Deo, Aaron Dixon, Matthew Sanchez, Steven Teleki
  • Patent number: 8060857
    Abstract: A method and a system for transformation-based program generation using two separate specifications as input: An implementation neutral specification of the desired computation and a specification of the execution platform. The generated implementation incorporates execution platform opportunities such as parallelism. Operationally, the invention has two broad stages. First, it designs the abstract implementation in the problem domain in terms of an Intermediate Language (IL) that is unfettered by programming language restrictions and requirements. Concurrently, the design is evolved by specializing the IL to encapsulate a plurality of desired design features in the implementation such as partitioning for multicore and/or instruction level parallelism. Concurrently, constraints that stand in for implied implementation structures are added to the design and coordinated with other constraints. Second, the IL is refined into implementation code.
    Type: Grant
    Filed: January 31, 2009
    Date of Patent: November 15, 2011
    Inventor: Ted James Biggerstaff
  • Patent number: 8060868
    Abstract: Providing for read/write access to captured free variables expressed as environment data objects is disclosed herein. By way of example, free variables can be rewritten as a field of a private class, and accessed via an instance of the private class captured within the environment data object. In such a manner, no need of a placeholder or proxy function is required to access the free variable. Consequently, the subject innovation provides a simplified method for capturing free variables within expression trees and providing read/write access to such variables.
    Type: Grant
    Filed: June 21, 2007
    Date of Patent: November 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Mads Torgersen, Peter A. Hallam, Matthew J. Warren, Dinesh C. Kulkarni, Clemens Alden Szyperski
  • Patent number: 8060859
    Abstract: A type system employing structural subtyping is disclosed herein. A core type system supports several structural types, such as stream, choice, intersection and sequence. Also part of the core type system is a new invariant type, which denotes values whose dynamic type is the same as its static type, and type restrictions for limiting a range of a base type. Furthermore, a streamlined structural version of delegates, called structural delegates and a validation method thereof are introduce into the type system. To further facilitate type safety, strict statically checked interface casts are introduced.
    Type: Grant
    Filed: June 16, 2008
    Date of Patent: November 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Erik Meijer, Wolfram Schulte, Barend H. Venter, Chia-Hsun Chen, Christopher J. Lovett, Matthew J. Warren
  • Patent number: 8056051
    Abstract: A system for generating application content includes specifying an application definition or model in a flexible grammar, defining a set of templates that define generalized content output forms, and specifying a control definition for transforming the application definition into application content bused on the templates. A transformation engine accesses the application definition and performs output generation under the control of the control description.
    Type: Grant
    Filed: April 22, 2008
    Date of Patent: November 8, 2011
    Assignee: International Business Machines Corporation
    Inventors: Christopher Henry Gerken, Geoffrey Martin Hambrick
  • Patent number: 8056073
    Abstract: A method, computer program product, and system for enabling the merging of a plurality of instance variables into a new composite same-class instance having the same instance variables with values determined by a user. Same-class instances are arranged in tabular format and are provided with selection buttons to allow the user to make selections of the desired instance variable values.
    Type: Grant
    Filed: January 8, 2008
    Date of Patent: November 8, 2011
    Assignee: International Business Machines Corporation
    Inventors: Mark Petersen, William E. Ansley, Christopher Schnabel, Karyn M. Hurley
  • Patent number: 8051404
    Abstract: A method of developing software capable of performing a task, the task comprising at least one task step required to perform the task. The task step has a resultant effect. The method comprises recording a use case comprising one or more scenarios, that comprise one of more further steps; recording the scenario or one of the scenarios as a main success scenarios such that the resultant effect of the main success scenario is the same as the resultant effect of the task step. Use cases which have been stripped of context-specific information may be re-used. Such information may be included in a reference to the re-used use case.
    Type: Grant
    Filed: October 26, 2001
    Date of Patent: November 1, 2011
    Assignee: Micro Focus (IP) Limited
    Inventors: Fergal McGovern, Martin Chapman, Garrett Conaty, Philip Head, Michael Hogan
  • Patent number: 8046732
    Abstract: A method, computer program product, and system for distributing changes to an application are disclosed. A graphical application modeling tool is provided for displaying a model of a pattern of the application. The model has a plurality of elements, where each element is linked to another element via a port. Each port representing a class that contains information about the pattern qualities of that port as related to the element. A change that is applied to a first element of the plurality of elements of the model is propagated to a second element of the plurality of elements via linked ports associated with the first and second elements.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: October 25, 2011
    Assignee: SAP AG
    Inventor: Victor V. Shaburov
  • Patent number: 8028273
    Abstract: Methods, data processing systems, and program products supporting the insertion of clone latches within a digital design are disclosed. According to one method, a parent latch within the digital design is specified in an HDL statement in one of the HDL files representing a digital design. In addition, a clone latch is specified within the digital design utilizing an HDL clone latch declaration. An HDL attribute-value pair is associated with the HDL clone latch declaration to indicate a relationship between the clone latch and the parent latch according to which the clone latch is automatically set to a same value as the parent latch when the parent latch is set. Thereafter, when a configuration compiler receives one or more design intermediate files containing the clone latch declaration, the configuration compiler creates at least one data structure in a configuration database representing the clone latch and the relationship between the clone latch and the parent latch.
    Type: Grant
    Filed: April 18, 2008
    Date of Patent: September 27, 2011
    Assignee: International Business Machines Corporation
    Inventors: Wolfgang Roesner, Derek Edward Williams
  • Publication number: 20110231816
    Abstract: Methods and computer program products for enabling reflection capability in the C programming language are provided. One method includes generating a database for a program written in the C programming language when compiling the program, wherein the database is based on structures included within the program. The method further includes storing the database in memory and utilizing the database during run-time to enable the program to observe and modify its own structure and behavior. One computer program product includes executable portions for performing the above method. Another method includes creating a database for a program written in the C programming language, wherein the type database is based on structures included within the program and is created prior to the program being compiled. This method further comprises storing the database in memory and utilizing the database during run-time to enable the program to observe and modify its own structure and behavior.
    Type: Application
    Filed: March 17, 2010
    Publication date: September 22, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Liran Zvibel
  • Patent number: 8024704
    Abstract: The present invention relates to systems and methods that facilitate dynamic programming language execution in a managed code environment. A class component is provided that declares an inheritance hierarchy for one or more tagged values associated with a dynamic programming language. During execution of the tagged values, a rules component mitigates user-defined types from inheriting or deriving properties from the tagged values in order to support a type safe runtime environment. A bifurcated class tree is provided that defines non-tagged type elements on one side of the tree and tagged type element values on an alternate branch of the tree. The rules component analyzes runtime extensions that help to prevent data from one component of the tree deriving or inheriting properties from another component of the tree. The runtime extensions include such aspects as cast class extensions, test class extensions, and conversion class extensions for converting data types from one class subtype to another.
    Type: Grant
    Filed: August 31, 2006
    Date of Patent: September 20, 2011
    Assignee: Microsoft Corporation
    Inventor: Eric Meijer
  • Publication number: 20110225565
    Abstract: A workflow is described and subsequently constructed by a general-purpose program. Among other things, such construction enables meta-programming to be employed. Further, workflow item and task dependencies can be explicitly expressed in the workflow and utilized to, among other things, optimize workflow execution for one or more factors. For instance, dependency information can be employed with respect to scheduling concurrent execution of tasks as well as to confine re-execution, upon workflow or item changes, to tasks affected by the changes. In addition, messages pertaining to workflow processing can be typed to facilitate logging in a structured and easily comprehensible manner.
    Type: Application
    Filed: March 12, 2010
    Publication date: September 15, 2011
    Inventors: Danny van Velzen, Jeffrey van Gogh, Henricus Johannes Maria Meijer
  • Patent number: 8020145
    Abstract: A programming language for representing processes as strings of symbols has a syntax delimiting places in a symbol string. A convention associates delimited places in symbol strings. An invocation construct instantiated as an invocation string. A definition construct instantiated as a definition. Completeness of input of the invocation destination list is sufficient for resolving the process defined by a definition string.
    Type: Grant
    Filed: August 16, 2006
    Date of Patent: September 13, 2011
    Assignee: Wave Semiconductor
    Inventor: Karl M. Fant
  • Patent number: 8020144
    Abstract: Computer-implemented methods, computer-readable media, and an application system are disclosed for creating and deploying metadata-generated applications. Access is provided to one or more type libraries that each include one or more defined object types configurable for use in generating the application. The defined object types include data structure types, rule types, and data types. Input is elicited from a user regarding desired content and function of the application. Based on the user input, metadata is generated to adapt the defined object types to generate the application. Metadata is generated to adapt the defined data structure types to create one or more application databases, to adapt the defined rule types to create one or more application behaviors, and to adapt the defined data types to create one or more application data types.
    Type: Grant
    Filed: June 29, 2007
    Date of Patent: September 13, 2011
    Assignee: Microsoft Corporation
    Inventors: Xiaohong Mark Yang, Randy Dong, Jeffrey Wang, Rou-Peng Huang
  • Patent number: 8015141
    Abstract: A rule-based programming language may be devised for programming an entity in an environment. Computer systems may therefore be configured to program the entity with at least one rule comprising at least zero language conditions representing an action condition, at least one language verb representing an action, and at least zero language verb parameters representing an action object. The computer system may also be configured to facilitate entry by a user of a rule set according to the rule-based programming language by receiving user selections of language conditions, language verbs, and language verb parameters. By facilitating the programming by users of entities within environments, the computer system may facilitate individuals (such as non-technical individuals, aspiring programmers, and children) in understanding programming concepts, encourage the development of experience with computer programming, and permit the generation of useful computer programs by non-proficient programmers.
    Type: Grant
    Filed: February 18, 2008
    Date of Patent: September 6, 2011
    Assignee: Microsoft Corporation
    Inventors: Matthew MacLaurin, Michael C. Miller, Stephen B. Coy, Lili Cheng
  • Patent number: 8015548
    Abstract: The present invention is to provide a method for enabling Blue-ray Disc Java (BD-J) to effectively obtain context of a corresponding application, namely an Xlet, while playing BD-J title, which comprises the steps of setting up source file attribute of each class by adding an Xlet context ID as an unique code to the class when loading all classes into a cache of the BD-J; looking up back onto a call stack to search for Xlet class of the current BD-J title when searching for Xlet context; and then obtaining the Xlet context through the Xlet context ID according to the source file attribute. Thus, the method of the present invention enables BD-J to normally play the BD-J title in the Blue-ray Disc Read Only Memory (BD-ROM) and, at the same time, effectively improves the playing performance.
    Type: Grant
    Filed: March 22, 2007
    Date of Patent: September 6, 2011
    Assignee: Arcsoft, Inc.
    Inventors: Tian-Jin Chen, Wei Li, Fang Ji
  • Patent number: 8010943
    Abstract: A data expression is created to be executed on a computer. At least one of the at least two objects is tagged as temporary. A first non-assignment operator is executed to instruct the computer to perform a mathematical operation on object data corresponding to the one of the at least two objects and thereby creating resultant object data corresponding to the one of the at least two objects. The object data corresponding to the one of the at least two objects is overwritten with the resultant object data corresponding to the one of the at least two objects. A first assignment operator is executed to instruct the computer to assign the one of the at least two objects to the second of the at least two objects thereby copying correspondence of the resultant object data to the second of the at least two objects. The overwriting is performed after the executing a first non-assignment operator and prior to the executing a first assignment operator.
    Type: Grant
    Filed: September 14, 2007
    Date of Patent: August 30, 2011
    Assignee: The United States of America as represented by the Secretary of the Navy
    Inventor: Damian Rouson
  • Patent number: 8006225
    Abstract: A method and system for the automatic generation of instruction-set manuals. Specifically, the method of the present invention includes accessing an abstract processor model of a processor, wherein said abstract processor model is represented using a hierarchical architecture description language (ADL). The abstract processor model includes a plurality of instructions arranged in a hierarchical structure. An internal representation of the abstract processor model is generated by flattening the abstract processor model. The flattening process generates a plurality of rules grouped by common convergent instructions. Each rule describes an instruction path through the hierarchical structure that converges at a corresponding convergent instruction. An instruction-set documentation is automatically generated from the plurality of rules, wherein the instruction-set documentation is arranged convergent instruction by convergent instruction.
    Type: Grant
    Filed: June 3, 2005
    Date of Patent: August 23, 2011
    Assignee: Synposys, Inc.
    Inventors: Gunnar Braun, Volker Greive, Andreas Hoffmann
  • Patent number: 8001525
    Abstract: A method and system for checking whether customer orders for transactions of financial instruments conform to business logic rules. Executable rule files are created and stored in a repository. New executable rule files can be created by scripting the new business logic rules in a script file which is converted into a corresponding source code file written in a computer programming language. The source code file is compiled to create an individual executable rule file. A rule selection repository contains identification of groups of selected executable rule files. The invention determines the category of the customer order and reads, from the rule selection repository, a group of executable rule files that correspond to the identified category of the customer order. The selected executable rule files are executed to check the conformance of the customer order. Execution results are stored in a status repository for subsequent retrieval and analysis.
    Type: Grant
    Filed: May 12, 2008
    Date of Patent: August 16, 2011
    Assignee: International Business Machines Corporation
    Inventors: Lucio Agostini, Sumit Taneja, Yining Chen, J. Paul Morrison
  • Patent number: 8001523
    Abstract: A system and methods are provided for implementing an explicit interface member in connection with a computer programming language. Thus, a mechanism is provided that prevents conflicts between independently developed interfaces, enables privately implemented interface members and enables specific versions of generic interfaces that are free from conflict.
    Type: Grant
    Filed: July 5, 2001
    Date of Patent: August 16, 2011
    Assignee: Microsoft Corporation
    Inventors: Scott Wiltamuth, Anders Hejlsberg, Peter H. Golde, Peter F. Sollich
  • Patent number: 8001522
    Abstract: Methods and systems for generating mainframe computer code are provided. Collections of code segments for implementing common input and output operations and error handling operations are linked to an application development platform. Developers identify attributes of input and output operations. The application development platform may then search the collections to locate appropriate input and output operation and error handling operation code segments and generate a template that includes them. The developer may then add code to implement business logic and generate a mainframe application program.
    Type: Grant
    Filed: November 6, 2007
    Date of Patent: August 16, 2011
    Assignee: Accenture Global Services Limited
    Inventors: Shrikant M Maniar, Uma Agadkar, G. Jagadeesh Kumar Yadav, Deepesh Kuruppath
  • Patent number: 8001536
    Abstract: A system and method for controlling execution of an interpreted language. Statements of the interpreted language to be executed by a script engine are intercepted by a protection module and control is passed to a script helper module that is associated with the script engine. The script helper module establishes a secure communications channel with an authorization component and passes the statements and an authorization request to the authorization component. The authorization component sends a reply to the script helper module which either permits the script engine to execute the statement or cancels the attempted execution. When the script engine is loaded, a list is updated identifying the script engine. If a script helper module is not present for the loaded script engine, a boot-strap loader is called to load the script helper module. A special information block contains data as to the location of the interception points.
    Type: Grant
    Filed: January 26, 2009
    Date of Patent: August 16, 2011
    Assignee: Lumension Security, Inc.
    Inventor: Viacheslav Usov
  • Patent number: 8001524
    Abstract: A system uses software to perform a first portion of a linked list traversal process, where the first portion obtains a pointer that corresponds to a key and where the pointer points into a linked list. The system further uses hardware and the obtained pointer to perform a second portion of the linked list traversal process, where the second portion locates data from the linked list that is associated with the key.
    Type: Grant
    Filed: July 19, 2006
    Date of Patent: August 16, 2011
    Assignee: Juniper Networks, Inc.
    Inventors: Wen Wei, Dongping Luo, Lidong Zhao
  • Patent number: 7996817
    Abstract: A method, apparatus and computer program product for providing automatic validation of test results using componentized software object reflection, is presented. An application is run and at least one resultant data structure is generated from the running of the application. The at least one resultant data structure is converted in to at least one componentized software object. Results are obtained from the at least one componentized software object and the results from the at least one componentized software object are verified.
    Type: Grant
    Filed: October 27, 2006
    Date of Patent: August 9, 2011
    Assignee: Avaya Inc.
    Inventor: Bin Wen
  • Patent number: 7992139
    Abstract: A method, system and program product for transforming a source code in one language into one or more target modules in one or more languages is provided. The method includes selecting one or more target programming languages suitable for transforming each source module of a source code into one or more target modules written in one or more target programming languages. The method further includes parsing the source code and looking up for a source function in the source code an equivalent target function in a target programming language, such that execution of the equivalent target function in the target programming language is optimized. The method further includes writing out in the target programming language the equivalent target function corresponding to the source function, such that each source module is transformed into one or more target modules whose execution in the one or more target programming languages is optimized.
    Type: Grant
    Filed: November 29, 2006
    Date of Patent: August 2, 2011
    Assignee: International Business Machines Corporation
    Inventors: Milind Chitgupakar, Mark S. Ramsey
  • Patent number: 7992140
    Abstract: A compiler supporting a language in which selected semantic objects are represented as data objects. The data objects may be used in multiple ways to expand the capabilities of the programming language. Data objects may be passed to applications and used to create executable instructions for that application. In this way, instructions written in the native language of the compiler may be used to control applications that accept programs in a language inconsistent with the native language of the compiler. The syntax checking and variable binding capabilities of the compiler may be used for those instructions that will be executed by an application separate from the object code generated by the compiler. The semantic objects represented as data objects may be selected based on express operations included in the source code or may be based on implicit type conversion.
    Type: Grant
    Filed: July 29, 2005
    Date of Patent: August 2, 2011
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Anders Hejlsberg, Matthew J. Warren, Dinesh Chandrakant Kulkarni, Luca Bolognese, Peter A. Hallam, Gary S. Katzenberger, Donald Box
  • Patent number: 7987446
    Abstract: A method for automating variables in an end-user programming system is disclosed. The end-user programming system comprises a script, a shared repository, at least one database, a recorder, an interpreter, and an execution engine. The script comprises at least one command describing an event comprising a data value. Each user has a uniquely identified entry set for the entries distributed in at least one database. The interpreter automatically creates a variable for a data value in a command by comparing the data value with each entry value in the entry set for the user recording the command. The interpreter automatically instantiates a variable in a command with an entry value by comparing the variable with each entry name in the entry set for the user executing the command.
    Type: Grant
    Filed: April 24, 2007
    Date of Patent: July 26, 2011
    Assignee: International Business Machines Corporation
    Inventors: Allen George Cypher, Eben Merriam Haber, Eser Kandogan, Tessa Ann Lau, James Lin, Danny Greg Little
  • Patent number: 7979841
    Abstract: A system and method for programmatically determining interface information for a graphical program. Interface information for a graphical program may include information necessary to invoke execution of the graphical program. A first program may receive a request for information regarding an interface of a graphical program. In response to the request, the first program may programmatically determine the information regarding the interface of the graphical program. The interface information may include such information as parameters of the graphical program, their respective data types, whether each parameter is an input parameter, an output parameter, or both, and default values for input parameters. The programmatically determined information regarding the interface of the graphical program may then be returned to a second program. The second program may invoke execution of the graphical program according to the received information.
    Type: Grant
    Filed: April 16, 2004
    Date of Patent: July 12, 2011
    Assignee: National Instruments Corporation
    Inventors: Jason B. Case, Robert E. Dye, Kyle P. Gupton, José A. Hernandez
  • Patent number: 7979839
    Abstract: A method is described which permits a computer programmer to write a program with the assistance of the computer itself. The computer will provide instant feedback, following the procedures herein described, to the result of performing each instruction. Therefore, the programmer may instantaneously observe the working of the program as the computer will perform it. Thus any difference in the result produced by the computer from what the programmer expects to happen may be recognized and, if appropriate, corrected. In a higher order implementation of this method the computer will display icons to link the in-process programming to a working routine resident on a remote computer. Thus, the tools and benefits of so-called Service Oriented Architecture (SOA) can be made available to the programmer. Employing the method of this invention, the computer becomes an integral part of the creative process of writing a program.
    Type: Grant
    Filed: August 9, 2007
    Date of Patent: July 12, 2011
    Inventor: William M. Wolf
  • Publication number: 20110167248
    Abstract: Unsuspended co-routines are handled by the machine call stack mechanism in which the stack grows and shrinks as recursive calls are made and returned from. When a co-routine is suspended, however, additional call stack processing is performed. A suspension message is issued, and the entire resume-able part of the call stack is removed, and is copied to the heap. A frame that returns control to a driver method (a resumer) is copied to the call stack so that resumption of the co-routine does not recursively reactivate the whole call stack. Instead the resumer reactivates only the topmost or most current frame called the leaf frame. When a co-routine is suspended, it does not return to its caller, but instead returns to the resumer that has reactivated it.
    Type: Application
    Filed: January 7, 2010
    Publication date: July 7, 2011
    Applicant: Microsoft Corporation
    Inventors: Neal M. Gafter, Mads Torgersen, Henricus Johannes Maria Meijer, Niklas Gustafsson
  • Publication number: 20110161927
    Abstract: A system receives a design document, parses the design document into voice extensible markup language (VXML) elements, and creates a VXML document from the parsed VXML elements.
    Type: Application
    Filed: March 7, 2011
    Publication date: June 30, 2011
    Applicant: VERIZON PATENT AND LICENSING INC.
    Inventor: Rajesh SHARMA
  • Patent number: 7971185
    Abstract: The present invention provides a method for supporting data driving a software process. The method comprises receiving, from a user, input of a class of an object of a non-primitive data type; and providing to the user a description of the collection of attributes necessary to construct an instance of the object, based only on the class of the object. The step of receiving the class of the object is free of receiving a pre-existing instance of the data type. In further related embodiments, the method further comprises receiving, in a single user step, user input of defining attribute data necessary to create the instance of the object and set it into a desired state; and creating and initializing the instance of the object using the defining attribute data; wherein the defining attribute data does not include a pre-existing instance of the data type.
    Type: Grant
    Filed: December 24, 2008
    Date of Patent: June 28, 2011
    Assignee: International Business Machines Corporation
    Inventors: Joseph Patrick Toomey, Sung-Jun Pak, William Arthur Goddin, Jr.
  • Patent number: 7966602
    Abstract: A method for selecting an annotation processor associated with an annotation for reprocessing is provided. The annotation is included in a computer software source code. An annotation snapshot is captured and a hash value is generated for the annotation snapshot. The annotation snapshot hash value is compared with a hash value of a previous annotation snapshot. The annotation processor associated with the annotation is marked for reprocessing when the annotation snapshot hash value is different from the hash value of the previous annotation snapshot.
    Type: Grant
    Filed: March 16, 2006
    Date of Patent: June 21, 2011
    Assignee: Oracle America, Inc.
    Inventors: Christopher B. Webster, Roderico A. Cruz, Nam T. Nguyen
  • Patent number: 7966601
    Abstract: A network-accessible Web service is generated without a user having to code the logic of the Web service using a programming language. The Web service is represented as a sheet element within a graphical user interface (GUI) displayed on the screen of a computing device. A number of cards for the Web service are defined. The cards define the logic of the Web service, and effectuate the functionality of the Web service. Each card is represented as a card element on the sheet element within the GUI. By manipulating and modifying the cards, a user is thus able to generate a Web service without having to code the logic of the Web service with a programming language.
    Type: Grant
    Filed: May 31, 2005
    Date of Patent: June 21, 2011
    Assignee: International Business Machines Corporation
    Inventors: Takayuki Yamaizumi, Samuel S. Adams, Brian Price, Rachel K. E. Bellamy, Jonathan P. Brezin
  • Patent number: 7962900
    Abstract: A dynamic binary translator 19 converts a subject program 17 into target code 21 on a target processor 13. For a multi-threaded subject environment, the translator 19 provides a global token 501 common to each thread 171, 172, and one or more sets of local data 502, which together are employed to coordinate access to a memory 18 as a shared resource. Adjusting the global token 501 allows the local datastructures 502a,b in each thread to detect potential interference with the shared resource 18.
    Type: Grant
    Filed: September 2, 2005
    Date of Patent: June 14, 2011
    Assignee: International Business Machines Corporation
    Inventors: Gavin Barraclough, Paul Knowles
  • Patent number: 7962897
    Abstract: A process assembles and/or reassembles a software application. In an embodiment, assemblies are loaded from an architecture description markup language (ADML) document. Class objects and type objects are activated based on the ADML document. Components and connectors are created based on the ADML document. The components are serialized, and an architecture is assembled based on connections described in the ADML document. A main active component designated in the ADML document is then activated.
    Type: Grant
    Filed: October 31, 2006
    Date of Patent: June 14, 2011
    Assignee: Honeywell International Inc.
    Inventors: Rui Zhang, Yujun Zhang
  • Patent number: 7962895
    Abstract: According to a technique described herein, a binding document comprises one or more “<bind>” element instances. Each “<bind>” element instance indicates an association between (a) an SVG element instance and (b) a class. When a binding's name is passed to a “createFromTemplate( )” method, the method processes all of the “<bind>” element instances that are associated within that name. For each such “<bind>” element instance, the method (a) creates, in an SVG DOM tree, a clone of a node that corresponds to an SVG element instance indicated in that “<bind>” element instance, (b) instantiates an object that is an instance of a class that is indicated in that “<bind>” element instance, and (c) stores data that establishes a binding between the clone node and the object. Methods of the object can be invoked to affect and/or alter attributes of the clone node to which the object is bound.
    Type: Grant
    Filed: July 20, 2006
    Date of Patent: June 14, 2011
    Assignee: Oracle America, Inc.
    Inventor: Peter T. Liu
  • Patent number: 7958489
    Abstract: Systems and methods facilitate data augmentation in a computer environment. Data collections of various forms are altered out of band with at least one augmentor specifying alterations thereto. The alterations are applied to an associated collection of data such as programmatic code. In this manner, data can be modified, extended and/or removed from the collection to enable specialization and/or personalization, among other things.
    Type: Grant
    Filed: April 12, 2007
    Date of Patent: June 7, 2011
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Jeffrey van Gogh, Bruno S. Bozza, Brian C. Beckman, Wei Zhu, Michael Barnett
  • Patent number: 7958491
    Abstract: In one embodiment the invention provides a method to provide command line utility output to an application without the need of temporary files. The method includes receiving an identifier, receiving output from a command line utility, and storing the command line utility output in a system storage at a location identified by the identifier. In one illustrative embodiment, command line utility output is stored in a system registry database. In another illustrative embodiment, command line utility output is stored in a shared system memory. The method may be stored in any media that is readable and executable by a computer system.
    Type: Grant
    Filed: November 26, 1999
    Date of Patent: June 7, 2011
    Assignee: Micron Technology, Inc.
    Inventor: James McKeeth
  • Patent number: 7958492
    Abstract: A system includes a processor, a storage medium, an extensible markup language (XML) schema stored on the storage medium, and a script for manipulating an XML document stored on the storage medium. The script includes an import function to import the XML schema such that the definitions of the XML schema are used to interpret the script.
    Type: Grant
    Filed: May 3, 2007
    Date of Patent: June 7, 2011
    Assignee: Oracle International Corporation
    Inventors: John C. Schneider, Terry Leonard Lucas