scispace - formally typeset
Search or ask a question
Conference

European Conference on Object-Oriented Programming 

About: European Conference on Object-Oriented Programming is an academic conference. The conference publishes majorly in the area(s): Object-oriented programming & Object (computer science). Over the lifetime, 1450 publications have been published by the conference receiving 54039 citations.


Papers
More filters
Book ChapterDOI
18 Jun 2001
TL;DR: AspectJ provides support for modular implementation of a range of crosscutting concerns, and simple extensions to existing Java development environments make it possible to browse the crosscutting structure of aspects in the same kind of way as one browses the inheritance structure of classes.
Abstract: AspectJ? is a simple and practical aspect-oriented extension to Java?. With just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns. In AspectJ's dynamic join point model, join points are well-defined points in the execution of the program; pointcuts are collections of join points; advice are special method-like constructs that can be attached to pointcuts; and aspects are modular units of crosscutting implementation, comprising pointcuts, advice, and ordinary Java member declarations. AspectJ code is compiled into standard Java bytecode. Simple extensions to existing Java development environments make it possible to browse the crosscutting structure of aspects in the same kind of way as one browses the inheritance structure of classes. Several examples show that AspectJ is powerful, and that programs written using it are easy to understand.

2,810 citations

Proceedings ArticleDOI
01 Sep 1990
TL;DR: The diverse inheritance mechanisms provided by Smalltalk, Beta, and CLOS are interpreted as different uses of a single underlying construct, which is subsumed in a new inheritance model based on composition of mixins, or abstract subclasses.
Abstract: The diverse inheritance mechanisms provided by Smalltalk, Beta, and CLOS are interpreted as different uses of a single underlying construct. Smalltalk and Beta differ primarily in the direction of class hierarchy growth. These inheritance mechanisms are subsumed in a new inheritance model based on composition of mixins, or abstract subclasses. This form of inheritance can also encode a CLOS multiple-inheritance hierarchy, although changes to the encoded hierarchy that would violate encapsulation are difficult. Practical application of mixin-based inheritance is illustrated in a sketch of an extension to Modula-3.

880 citations

Book ChapterDOI
26 Jul 1993
TL;DR: This work describes how to express and organize design patterns and introduces a catalog of design patterns, which provide a common vocabulary for design and reduce system complexity by naming and defining abstractions.
Abstract: We propose design patterns as a new mechanism for expressing object-oriented design experience. Design patterns identify, name, and abstract common themes in object-oriented design. They capture the intent behind a design by identifying objects, their collaborations, and the distribution of responsibilities. Design patterns play many roles in the object-oriented development process: they provide a common vocabulary for design, they reduce system complexity by naming and defining abstractions, they constitute a base of experience for building reusable software, and they act as building blocks from which more complex designs can be built. Design patterns can be considered reusable micro-architectures that contribute to an overall system architecture. We describe how to express and organize design patterns and introduce a catalog of design patterns. We also describe our experience in applying design patterns to the design of object-oriented systems.

704 citations

Book ChapterDOI
07 Aug 1995
TL;DR: In this article, a complete inheritance graph of a program is examined, which is called class hierarchy analysis, and the compiler can improve the quality of static class information and thereby improve run-time performance.
Abstract: Optimizing compilers for object-oriented languages apply static class analysis and other techniques to try to deduce precise information about the possible classes of the receivers of messages; if successful, dynamically-dispatched messages can be replaced with direct procedure calls and potentially further optimized through inline-expansion. By examining the complete inheritance graph of a program, which we call class hierarchy analysis, the compiler can improve the quality of static class information and thereby improve run-time performance. In this paper we present class hierarchy analysis and describe techniques for implementing this analysis effectively in both statically- and dynamically-typed languages and also in the presence of multi-methods. We also discuss how class hierarchy analysis can be supported in an interactive programming environment and, to some extent, in the presence of separate compilation. Finally, we assess the bottom-line performance improvement due to class hierarchy analysis alone and in combination with two other "competing" optimizations, profile-guided receiver class prediction and method specialization.

592 citations

Book ChapterDOI
15 Jul 1991
TL;DR: This paper shows basic construction of the formal system along with several illustrative examples of the communication primitive, which results in a consistent reduction of Milner's calculus, while retaining the same expressive power.
Abstract: This paper presents a formal system based on the notion of objects and asynchronous communication Built on Milner's work on π-calculus, the communication primitive of the formal system is purely based on asynchronous communication, which makes it unique among various concurrency formalisms Computationally this results in a consistent reduction of Milner's calculus, while retaining the same expressive power Seen semantically asynchronous communication induces a surprisingly different framework where bisimulation is strictly more general than its synchronous counterpart This paper shows basic construction of the formal system along with several illustrative examples

591 citations

Performance
Metrics
No. of papers from the Conference in previous years
YearPapers
202328
202225
20219
202029
201930
201827