CIL + Metadata > Executable Program
TL;DR: This paper presents an application that relies on the rich binary format of CLR to translate the intermediate language code into Lego Mindstorms bytecode and exploits the information available to automatically distribute a program between a robot with very limited abilities and a standard PC.
read more
Abstract: Execution environments like Java Virtual Machine and Microsoft CLR rely on executables containing information about types and their structure. Method bodies are expressed in an intermediate language rather than machine dependent code to allow verification. Although intermediate language and metadata are required by the execution engine, the information available can be used for other purposes. In this paper we present an application that relies on the rich binary format of CLR to translate the intermediate language code into Lego Mindstorms bytecode. All programming languages targeting the Common Language Infrastructure can be used to program the programmable Lego brick. We exploit the information available to automatically distribute a program between a robot with very limited abilities and a standard PC.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Patent
Logical extensions to intermediate code
Krzysztof J. Cwalina,Michael C. Fanning,Brian M. Grunkemeyer,Brent Rector,Barend H. Venter +4 more
- 30 Sep 2009
TL;DR: In this article, a virtual, logical view of an arbitrarily defined collection of intermediate code and metadata can be authored, factored, accessed, modified, and distributed, and multiple physical containers of assembly information can be aggregated to create a single logical assembly called an assembly aggregate.
20
Freely Annotating C
TL;DR: This paper describes [a]C# a, an extension of the C# programming language, that allows programmers to annotate statements and code blocks and retrieve these annotations at run-time and introduces a set of operations on annotated code blocks to retrieve annotations and manipulate bytecode.
[a]C#: C# with a customizable code annotation mechanism
Walter Cazzola,Antonio Cisternino,Diego Colombo +2 more
- 13 Mar 2005
TL;DR: This paper describes [a]C#,1 an extension of the C# programming language, that allows programmers to annotate statements or code blocks and retrieve these annotations at run-time and introduces a set of operations on annotated code blocks to retrieve annotations and manipulate bytecode.
Component adaptation in contemporary execution environments
Susan Eisenbach,Chris Sadler,Dominic Wong +2 more
- 06 Jun 2007
TL;DR: This paper examines the needs developers and deployers have arising out of component adaptation and explores the concept of Flexible Dynamic Linking as a means of satisfying them and describes a suite of tools developed to demonstrate this approach to component adaptation support within the .NET Common Language Runtime.
•Dissertation
LibX IE: An Internet Explorer Add-On for Direct Library Access
Nathan Edward Baker
- 06 Sep 2007
TL;DR: A toolbar and context menu system, written in C#, to extend the existing LibX features to the Internet Explorer web browser and a new framework for web localization, allowing pages viewed by the user to be modified on the client side by rules written by LibX developers, library staff, or individual users.
1
References
•Book
The Java Virtual Machine Specification
Tim Lindholm,Frank Yellin +1 more
- 19 Sep 1996
TL;DR: In this article, the authors present a detailed overview of the Java Virtual Machine, including the internal structure of the class file format, the internal form of Fully Qualified Class and Interface names, and the implementation of new class instances.
•Book
Java Virtual Machine Specification
Tim Lindholm,Frank Yellin +1 more
- 01 Apr 1999
TL;DR: The Java Virtual Machine as discussed by the authors is the technology that enables the Java 2 platform to host applications on any computer or operating system without rewriting or recompiling, and is the complete and definitive specification for the technology.
918
Efficient JavaVM just-in-time compilation
Andreas Krall
- 12 Oct 1998
TL;DR: A very fast algorithm for translating JavaVM byte code to high quality machine code for RISC processors, which replaces an older one in the CACAO JavaVM implementation reducing the compile time by a factor of seven and producing slightly faster machine code.
Altering Java Semantics via Bytecode Manipulation
Éric Tanter,Marc Ségura-Devillechaise,Jacques Noyé,José M. Piquer +3 more
- 06 Oct 2002
TL;DR: Jinline makes it possible to inline a method body before, after, or instead of occurrences of language mechanisms within a method, providing appropriate high-level abstractions for fine-grained alterations while offering a good expressive power and a great ease of use.