This paper presents an extended Java language in which users can refine a class definition to a certain degree. They can statically or dynamically redefine methods and append a new method, field, and interfaces to the class like dynamic languages. A unique feature of this language, named GluonJ, is that users can use a standard Java IDE (Integrated Development Environment) to exploit coding support by the IDE. This is significant for the industrial acceptability of a new language. A GluonJ program is written in standard Java with additional Java annotations. GluonJ was carefully designed so that the IDE can recognize a GluonJ program and reflect it on the coding support such as the code assist of Eclipse. Moreover, a GluonJ program never throws a runtime exception reporting that an undefined method is called. Guaranteeing this property is not straightforward because GluonJ allows users to refine a class definition at runtime.
This paper presents our extension to AspectJ for distributed computing. Although AspectJ allows Java developers to modularize a crosscutting concern as an aspect, this paper shows that some crosscutting concerns in distributed computing are not modularized in AspectJ as simple aspects. Rather, aspects modularizing such a concern tend to be in code spread over multiple hosts and explicitly communicated across the network. This paper illustrates this fact with an example of testing a distributed program written in As-pectJ with Java RMI. To address this complexity caused by network communication, this paper proposes an extension to AspectJ for distributed computing. The language construct that we call remote pointcut enables developers to write a simple aspect to modularize crosscutting concerns distributed on multiple hosts. This paper presents DJcutter, which is our Aspect J-like language supporting remote pointcuts.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.