Runtime system
First Claim
Patent Images
1. A computer-implemented method comprising:
- programmatically determining, using at least one binary contract that includes machine-level definitions, one or more abstract types associated with one or more available software interfaces, each software interface being described using an abstract type system associated with the one or more abstract types, the abstract type system configured to enable interface descriptions that are independent from specific programming languages, and wherein at least one description of a software interface includes calling parameter type descriptions, wherein programmatically determining the one or more abstract types comprises determining behavior associated with the one or more abstract types; and
translating individual determined abstract types to individual respective types associated with at least one specific programming language.
2 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments provide an ability to describe, independent of a programming language, one or more interfaces associated with an operating system. Alternately or additionally, a compiler associated with a specific programming language can be configured to map the independent interface description(s) to the specific programming language. In some embodiments, an application can be configured to programmatically determine one or more interfaces of the operating system.
145 Citations
20 Claims
-
1. A computer-implemented method comprising:
-
programmatically determining, using at least one binary contract that includes machine-level definitions, one or more abstract types associated with one or more available software interfaces, each software interface being described using an abstract type system associated with the one or more abstract types, the abstract type system configured to enable interface descriptions that are independent from specific programming languages, and wherein at least one description of a software interface includes calling parameter type descriptions, wherein programmatically determining the one or more abstract types comprises determining behavior associated with the one or more abstract types; and translating individual determined abstract types to individual respective types associated with at least one specific programming language. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A device, comprising:
-
at least one processor and a memory;
the memory having;one or more metadata files associated with one or more Application Programming Interface (API) modules, the one or more metadata files configured to include at least one description of one or more APIs included in the one or more API modules using an abstract type system to describe programmatic access to the one or more APIs, the at least one description being independent from specific programming languages, the one or more metadata files including calling parameter type descriptions associated with the APIs; one or more Application Binary Interface (ABI) modules configured to include one or more machine-level binary contracts for calling the one or more APIs; and one or more generated language projection modules configured to translate at least one type of the abstract type system to at least one type of one or more specific programming languages. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
at least one processor; and
a memory;
the at least one processor configured to;describe one or more software interfaces using an abstract type system and a description language, the abstract type system configured to enable descriptions that are independent from specific programming languages, wherein at least one description includes calling parameter type descriptions associated with the one or more software interfaces; generate one or more machine-readable descriptions of the one or more software interfaces based, at least in part, on the abstract type system and description language; define one or more binary contracts associated with the abstract type system, the one or more binary contracts configured to include one or more rules describing behavior associated with at least one type of the abstract type system, the one or more binary contracts comprising machine-level definitions; and translate the abstract type system to one or more specific programming languages based, at least in part, on the one or more binary contracts. - View Dependent Claims (16, 17, 18, 19, 20)
Specification