Program fragments, linking, and modularization
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Featherweight Java: a minimal core calculus for Java and GJ
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A formal specification of Java class loading
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A core calculus for Java exceptions
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Java Virtual Machine Specification
Java Virtual Machine Specification
Formalization and Analysis of Class Loading in Java
Higher-Order and Symbolic Computation
An Abstract Model of Java Dynamic Linking and Loading
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
Journal of Functional Programming
A flexible model for dynamic linking in Java and C#
Theoretical Computer Science
A model of dynamic binding in .NET
CD'05 Proceedings of the Third international working conference on Component Deployment
Hi-index | 0.00 |
In a recent paper we proposed a calculus for modeling dynamic linking independently of the details of a particular programming environment.Here we use a particular instantiation of this calculus to encode a toy language, called MCL, which provides an abstract view of the mechanism of dynamic class loading with multiple loaders as in Java.The aim is twofold. On one hand, we show an example of application of the calculus in modeling existing loading and linking policies, showing in particular that Java-like loading with multiple loaders can be encoded without exploiting the full expressive power of the calculus. On the other hand, we provide a simple formal model which allows a better understanding of Java-like loading mechanisms and also shows an intermediate solution between the rigid approach based only on the class path and that which allows arbitrary userdefined loaders, which can be intricate and error-prone.