Patent Document ID: 9038037
Application ID: 14337487
Patent Flag: 1

Claim One:
1. A computer implemented method of automatically solving simultaneous parameterized equations of context qualified types for solution elements comprising: 1) other context qualified types implied by equation parameters, 2) code instances of said context qualified types and 3) type difference transformations that redesign instances of code from one design context specified by one context qualified type to a second design context specified by a second context qualified type, where said solution elements are used to automatically redesign, synchronize and integrate separate code components or precursors thereof into an integrated, synchronized solution code component, where each one of said separate code components achieves a portion of a desired computation and said integrated, synchronized solution code component achieves all portions of said desired computation, wherein an atomic context qualified type is a composition of a programming language data type and a set of qualifiers for said programming language data type, where said set of qualifiers express human oriented conceptual notions that are not expressible in terms of programming language constructs or data types, wherein a composite context qualified type is expressed as a composition of a context qualified type constructor applied to other atomic or composite context qualified types as its arguments, and where said composition includes a set of qualifiers for said composite context qualified type that express human oriented conceptual notions that are not expressible in terms of programming language constructs or data types, wherein a composite context qualified type is a specialization of said other atomic or composite context qualified types that are said arguments of said context qualified type constructor, comprising: acquiring a specification of a desired computation from a plurality of sources including but not limited to an application programmer, a data base of reusable specifications or other source, where said specification specifies intent of said desired computation without information on how said desired computation is to be implemented, acquiring a design framework based on a computation's requirements and properties, where said design framework specifies design features of a desired implementation of said desired computation, where said design framework comprises 1) skeletal code achieving some portion of said desired computation; 2) a generator method that is specialized to said design framework and that manages building of said integrated, synchronized solution code component; 3) a set of said simultaneous parameterized equations of context qualified types specific to said design framework, and that constrains relationships within said integrated, synchronized solution code component; and 4) a set of said type difference transformations that are not implicit in said type equations and which are therefore elective type difference transformations specific to said design framework, automatically solving said simultaneous parameterized equations of context qualified types for unknown context qualified types implied by equation parameters, automatically deriving each of said type difference transformations that are implied by each pair of composite context qualified types specified in said simultaneous parameterized equations of context qualified types, where said pair comprises a first context qualified type and a second context qualified type, where either said second context qualified type is a specialization of said first context qualified type, or said first context qualified type is a specialization of said second context qualified type, automatically applying said type difference transformations to known code instances of said context qualified types in said simultaneous parameterized equations of context qualified types to produce new code instances of new context qualified types, where said new context qualified types are related by one or more said type difference transformations to said context qualified types of said known code instances, and automatically assembling said integrated, synchronized solution code component that achieves all portions of said desired computation from 1) said new code instances, 2) said skeletal code, and 3) each one of said separate code components that achieves a portion of a desired computation, where said assembling is achieved using said generator method that is specialized to said design framework; and constructing a type difference transformation between a first context qualified type and a second context qualified type, where said type difference transformation is automatically generated if said second context qualified type is a specialization of said first context qualified type, where specialization means that said context qualified type is a subtype either directly or recursively of said first context qualified type, or alternatively, where said type difference transformation must be manually generated if said second context qualified type is not a specialization of said first context qualified type and said first context qualified type is not a specialization of said second context qualified type.