this paper presents a new solution to the expression problem (EP) that works in OO languages with simple generics (including Java or C#). A key novelty of this solution is that advanced typing features, including F-bo...
详细信息
ISBN:
(纸本)9783642310577;9783642310560
this paper presents a new solution to the expression problem (EP) that works in OO languages with simple generics (including Java or C#). A key novelty of this solution is that advanced typing features, including F-bounded quantification, wildcards and variance annotations, are not needed. the solution is based on object algebras, which are an abstraction closely related to algebraic datatypes and Church encodings. object algebras also have much in common withthe traditional forms of the Visitor pattern, but without many of its drawbacks: they are extensible, remove the need for accept methods, and do not compromise encapsulation. We show applications of object algebras that go beyond toy examples usually presented in solutions for the expression problem. In the paper we develop an increasingly more complex set of features for a mini-imperative language, and we discuss a real-world application of object algebras in an implementation of remote batches. We believe that object algebras bring extensibility to the masses: object algebras work in mainstream OO languages, and they significantly reduce the conceptual overhead by using only features that are used by everyday programmers.
the Web Service Description Language defines a service as a procedure whose inputs and outputs are structured XML data values, sometimes called documents. In this paper we argue that document-oriented interfaces can b...
详细信息
ISBN:
(纸本)9780769538549
the Web Service Description Language defines a service as a procedure whose inputs and outputs are structured XML data values, sometimes called documents. In this paper we argue that document-oriented interfaces can be viewed as batches of calls to finer-grained procedural interfaces. Turning this correspondence around, we show that flexible documents can be specified by converting a block of fine-grained invocations into a batch document. Batch blocks can also include conditionals and loops. Our system, Remote Batch Invocation for Web Services, translates object-oriented interfaces into a WSDL describing batches of calls. the WSDL can be used by standard web service clients, but by providing a language extension to support remote batches, our approach features a fully integrated client environment. the result is a powerful infrastructure for web services that directly connects to standard object-oriented interfaces, with tool support to automatically create and decode documents. We have used our infrastructure to create a Web server wrapper for the Amazon Associates Web service, which shows that remote batches can support a clean object-orientedprogramming model over a stateless web service.
the power of objects lies in the flexibility of their interconnection structure. But this flexibility comes at a cost. Because an object can be modified via any alias, object-oriented programs are hard to understand, ...
详细信息
ISBN:
(纸本)354022405X
the power of objects lies in the flexibility of their interconnection structure. But this flexibility comes at a cost. Because an object can be modified via any alias, object-oriented programs are hard to understand, maintain, and analyse. Aliasing makes objects depend on their environment in unpredictable ways, breaking the encapsulation necessary for reliable software components, thus making it difficult to reason about and optimise programs, obscuring the flow of information between objects, and introducing security problems. Aliasing is a fundamental difficulty, but we accept its presence. Instead we seek techniques for describing, reasoning about, restricting, analysing, and preventing the connections between objects and the flow of information between them.
the development of high-performance and low power portable devices relies on boththe underlying hardware architecture and technology as well as on the application software that executes on embedded processor cores. I...
详细信息
ISBN:
(数字)9783540480464
ISBN:
(纸本)3540437843
the development of high-performance and low power portable devices relies on boththe underlying hardware architecture and technology as well as on the application software that executes on embedded processor cores. It has been extensively pointed out that the increasing complexity and decreasing time-to-market of embedded software can only be confronted by the use of modular and reusable code, which forces software designers to use objected orientedprogramming languages such as C++. However, the object-oriented approach is known to introduce a significant performance penalty compared to classical procedural programming. In this paper, the objectorientedprogramming style is evaluated in terms of both performance and power for embedded applications. A set of benchmark kernels is compiled and executed on an embedded processor simulator, while the results are fed to instruction level and memory power models to estimate the power consumption of each system component for bothprogramming styles.
this paper presents the reverse engineering tool JSPick, which recovers page signatures and form types from server pages based presentation layers. A formal semantics of the tool is given in pseudo-evaluation style.
ISBN:
(纸本)0769519024
this paper presents the reverse engineering tool JSPick, which recovers page signatures and form types from server pages based presentation layers. A formal semantics of the tool is given in pseudo-evaluation style.
the information of execution frequencies of virtual call targets is valuable for program analyses and optimizations of object-oriented programs. However, to obtain this information, most of the existing approaches rel...
详细信息
ISBN:
(纸本)9783642226557;9783642226540
the information of execution frequencies of virtual call targets is valuable for program analyses and optimizations of object-oriented programs. However, to obtain this information, most of the existing approaches rely on dynamic profiling. they usually require running the programs with representative workloads, which are often absent in practice. Additionally, some kinds of programs are very sensitive to run-time disturbance, thus are generally not suitable for dynamic profiling. therefore, a technique which can statically estimate the execution frequencies of virtual call targets will be very useful. In this paper we propose an evidence-based approach to frequency estimation of virtual call targets. By applying machine learning algorithms on the data collected from a group of selected programs, our approach builds an estimation model to capture the relations between static features and run-time program behaviors. then, for a new program, the approach estimates the relative frequency for each virtual call target by applying the model to the static features of the program. Once the model has been built, the estimation step is purely static, thus does not suffer the shortcomings of existing dynamic techniques. We have performed a number of experiments on real-world large-scale programs to evaluate our approach. the results show that our approach can estimate frequency distributions which are much more informative than the commonly used uniform distribution.
Precise type information is invaluable for analysis and optimization of object-oriented programs. Some forms of polymorphism found in object-oriented languages pose significant difficulty for type inference, in partic...
详细信息
this report summarizes the contributions and debates of the 6th International ecoop Workshop on Quantitative Approaches in object-oriented Software Engineering (QAOOSE 2002), which was held in Malaga on 11 June, 2002....
详细信息
the aim of the fourth workshop on object-oriented Architectural Evolution was to discuss into more detail a number of important issues raised during the previous workshop: the relationship between domain analysis and ...
详细信息
this report summarizes the contributions and debates of the 5th International ecoop Workshop on Quantitative Approaches in object-oriented Software Engineering (QAOOSE 2001), which was held in Budapest on 18–19 June,...
详细信息
暂无评论