Buy Generating Type-Safe Application-Specific Foreign Interfaces
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Home > Mathematics and Science Textbooks > Science: general issues > Generating Type-Safe Application-Specific Foreign Interfaces
Generating Type-Safe Application-Specific Foreign Interfaces

Generating Type-Safe Application-Specific Foreign Interfaces


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

A foreign interface mechanism is an important feature in most high-level language implementations. Such foreign interface mechanisms provide a Foreign Function Interface (FFI) for the high-level language to call C functions and data marshaling and unmarshaling mechanisms to support conversion between the high-level and C data representations. Often, systems provide tools to automate the generation of foreign interfaces, but these tools typically lock the user into a specific model of interoperability. It is our belief that the policy used to craft the mapping between a high-level language and C should be distinct from the underlying mechanism used to implement the mapping. Furthermore, we believe that the lack of flexibility in specifying the foreign interface policy is a serious weakness in existing foreign interface generation tools. Foreign interfaces should balance the goals of aesthetics and performance. Thus, the foreign interface implementation should be tailored to a particular API. This motivates us to propose a novel approach to the problem of interoperability called application-specific foreign interface generation. We have built a foreign interface generation tool, called FIG (Foreign Interface Generator), that embodies this idea and enables high-level functional languages to interface with C. FIG takes two inputs: raw C header files and a declarative script that allows the user to tailor the resulting foreign interface to his or her application. The C header files are processed into abstract structures by a front-end CKIT tool, and the script sets the policy for the translation. The FIG engine then uses a combination of user-supplied policies from the script and default policies in the FIG basic library to generate glue code for the given C-language header file. This dissertation describes the theoretical basis and the structure of FIG, with a focus on the application-specific approach, the typemap system we propose to address the correctness and safety of the generated interface, and many related topics. We first describe the term rewriting techniques which the FIG engine is based on. Internally, FIG works by rewriting a term representation of a C-language header file to an interface, the mapping policies of which we call typemaps. Then, we introduce a typemap system featuring a cross-language type inference system, the concept of conversions as an intermediate model of foreign interface, and the concept of typemaps. We will discuss the concept of typemaps in detail, looking specifically at their well-formedness---a property on which the generated foreign interface's safety is based. A typemap is a term representation of two types (e.g., a C type and a high-level type) and the marshaling and unmarshaling functions that map between the types. Internally, FIG uses typemap operators to combine simple typemaps into more complicated ones and, thus, synthesize the glue code for the foreign interface. As a final step, typemaps are realized as executable code. Unfortunately, there is a significant possibility that the generated glue code may not correctly map between the C API and the generated high-level language API. In this dissertation, we define a type system for the internals of FIG and prove that it guarantees that generated glue code will not introduce type errors. Specifically, we show that well-formed typemaps produce well-typed code and that the type rules for typemap operators ensure that the well-typedness of typemaps is preserved. The typemap system also raises several special issues that we discuss, such as representations for the memory layouts of low-level types and how to model the object-oriented features...


Best Sellers


Product Details
  • ISBN-13: 9781243513120
  • Publisher: Proquest, Umi Dissertation Publishing
  • Publisher Imprint: Proquest, Umi Dissertation Publishing
  • Height: 246 mm
  • Weight: 268 gr
  • ISBN-10: 1243513128
  • Publisher Date: 01 Sep 2011
  • Binding: Paperback
  • Spine Width: 8 mm
  • Width: 189 mm


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Generating Type-Safe Application-Specific Foreign Interfaces
Proquest, Umi Dissertation Publishing -
Generating Type-Safe Application-Specific Foreign Interfaces
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Generating Type-Safe Application-Specific Foreign Interfaces

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!