A new field in distributed computing, called Ambient Intelligence, has emerged as a consequence of the increasing availability of wireless devices and the mobile networks they induce. Developing software for such mobi...
详细信息
Ruby-an object-oriented scripting language-is used world-wide because of its ease of use. However, the current interpreter is slow. To solve this problem, some virtual machines were developed, but none with adequate p...
详细信息
Support for object-orientedprogramming has become an integral part of mainstream languages, and more recently generic programming has gained widespread acceptance as well. A natural question is how these two paradigm...
详细信息
Support for object-orientedprogramming has become an integral part of mainstream languages, and more recently generic programming has gained widespread acceptance as well. A natural question is how these two paradigms, and their underlying language mechanisms, should interact. One particular design option, that of using subtyping to constrain the type parameters of generic functions, has been chosen in the generics of Java and those planned for a future revision of C#. Certain shortcomings have previously been identified in using subtyping for constraining paranietric polymorphism in the context of generic programming. To address these, we propose extending object-oriented interfaces and subtyping to include associated types and constraint propagation. Associated types are type members of interfaces and classes. Constraint propagation allows certain constraints on type parameters to be inferred from other constraints on those parameters and their use in base class type expressions. The paper demonstrates these extensions in the context of C# (with generics), describes a, translation of the extended features to C#, and presents a formalism proving their safety. The formalism is applicable to other mainstream object-orientedlanguages supporting F-bounded polymorphism, such as Java.
Aspect-oriented (AO) frameworks improve a framework-centered development process by providing appropriate means for handling crosscutting concerns. However, the instantiation process of AO frameworks remains complex a...
详细信息
The standard dispatching mechanisms built into programminglanguages are sometimes inadequate to the needs of the programmer. In the case of Java, the need for more flexibility has led to the development of a number o...
详细信息
The standard dispatching mechanisms built into programminglanguages are sometimes inadequate to the needs of the programmer. In the case of Java, the need for more flexibility has led to the development of a number of tools, including visitors and multi-method extensions, that each add some particular functionality, but lack the generality necessary to support user-defined dispatching mechanisms. In this paper we advocate a more modular approach to dispatching, and we present a tool, PolyD, that allows the programmer to design custom dispatching strategies and to parametrize many aspects of the dispatching process. PolyD exhibits excellent performance and compares well against existing tools.
We present refactorings that automate the process of migrating pre-generics Java programs to use generics. The task is divided in two parts: introduction of formal type parameters (parameterization) and inference of a...
详细信息
In MRI research labs, algorithms are typically implemented in MATLAB or IDL. If performance is an issue they are ported to C and integrated with interpreted systems, not fully utilizing object-oriented software develo...
详细信息
Aspect-orientedprogramming (AOP) has been proposed as a complementary modularization technique to the existing object-oriented techniques. AOP encourages the modular development of complex software by providing suppo...
详细信息
In this paper we describe AutAT, an open source Eclipse plugin to better enable test driven development of web applications. AutAT lets non-technical people write acceptance tests (or functional tests) using a user-fr...
详细信息
暂无评论