Patents by Inventor Ted James Biggerstaff

Ted James Biggerstaff 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: 9038037
    Abstract: A method and a system for first, expressing relationships between design contexts as a set of simultaneous parameterized type equations and then, automatically solving those type equations to produce type difference transformations that automatically convert code from one design context to a different design context. For example, a set of solution transforms might redesign code from a simple image convolution expression within a specification context to a set of thread based, parallelized expressions of the convolution designed to fit the “holes” within a design framework from a reusable library. The type equations are expressed in terms a generalization of programming data types (called Context Qualified Types or CQ Types) that may have embedded variable parameters. In addition to programming data type information, CQ Types incorporate design features or concepts that fall outside of the programming data type domain (e.g., a planned program scope or a design skeleton).
    Type: Grant
    Filed: July 22, 2014
    Date of Patent: May 19, 2015
    Inventor: Ted James Biggerstaff
  • Patent number: 8713515
    Abstract: A method and a system for automatically synchronizing the design features of disparate but conceptually corresponding code elements (e.g., image representations) within disparate but potentially composable code components (e.g., frameworks and their payloads). For example, an element that is a field within a structure that points to an abstract image BP within a skeletal framework component may conceptually correspond to a simple element that is a concrete image B within some intended framework payload. In the composition of the framework and the computational payload, the concrete image B must acquire the design features of the abstract image BP (i.e., a pointer within a structure field) to be properly synchronized with the design of the framework. This invention automates differencing of composite types to compute transformations that can add design features to B to convert it to BP thereby synchronizing the design features of the framework and its payload.
    Type: Grant
    Filed: May 13, 2013
    Date of Patent: April 29, 2014
    Inventor: Ted James Biggerstaff
  • Patent number: 8327321
    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: Grant
    Filed: August 27, 2011
    Date of Patent: December 4, 2012
    Inventor: Ted James Biggerstaff
  • Patent number: 8225277
    Abstract: A method and a system for non-locally constraining a plurality of related but separated program entities (e.g., a loop operation and a related accumulation operation within the loop's scope) such that any broad program transformation affecting both will have the machinery to assure that the changes to both entities will preserve the invariant properties of and dependencies among them. For example, if a program transform alters one entity (e.g., re-expresses an accumulation operation as a vector operation incorporating some or all of the loop's iteration) the constraint will provide the machinery to assure a compensating alteration of the other entities (e.g., the loop operation is reduced to reflect the vectorization of the accumulation operation). One realization of this method comprises specialized instances of the related entities that while retaining their roles as program entities (i.e., operators), also contain data and machinery to define the non-local constraint relationship.
    Type: Grant
    Filed: April 25, 2010
    Date of Patent: July 17, 2012
    Inventor: Ted James Biggerstaff
  • 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
  • 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
  • Publication number: 20100205589
    Abstract: A method and a system for non-locally constraining a plurality of related but separated program entities (e.g., a loop operation and a related accumulation operation within the loop's scope) such that any broad program transformation affecting both will have the machinery to assure that the changes to both entities will preserve the invariant properties of and dependencies among them. For example, if a program transform alters one entity (e.g., re-expresses an accumulation operation as a vector operation incorporating some or all of the loop's iteration) the constraint will provide the machinery to assure a compensating alteration of the other entities (e.g., the loop operation is reduced to reflect the vectorization of the accumulation operation). One realization of this method comprises specialized instances of the related entities that while retaining their roles as program entities (i.e., operators), also contain data and machinery to define the non-local constraint relationship.
    Type: Application
    Filed: April 25, 2010
    Publication date: August 12, 2010
    Inventor: Ted James Biggerstaff
  • Publication number: 20100199257
    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: Application
    Filed: January 31, 2009
    Publication date: August 5, 2010
    Inventor: Ted James Biggerstaff