No abstract available.
The design of the C++ Booch Components
This paper describes design issues encountered developing a reusable component library. The design applied encapsulation, inheritance, composition and type parameterization. The implementation uses various C++ mechanisms, including: virtual and static ...
An iterative-design model for reusable object-oriented software
We present an iterative-design approach for reusable object-oriented software that augments existing design methods by incorporating iteration into the design methodology and focuses on the set of problems within the domain, encouraging reuse of ...
Graphical specification of object oriented systems
The graphical notation Objectcharts, introduced in this paper, allows a developer to precisely specify the behaviour of object classes and to reason about the behaviour of particular configurations of objects.
Objectcharts combine object oriented ...
Viewing object as patterns of communicating agents
Following our own experience developing a concurrent object-oriented language as well of that of other researchers, we have identified several key problems in the design of a concurrency model compatible with the mechanisms of object-oriented ...
LO and behold! Concurrent structured processes
We introduce a novel concurrent logic programming language, which we call LO, based on an extension of Horn logic. This language enhances the process view of objects implementable in Horn-based concurrent logic programming languages with powerful ...
Actors as a special case of concurrent constraint (logic) programming
Saraswat recently introduced the framework of concurrent constraint programming [14]. The essence of the framework is that computations consist of concurrent agents interacting by communicating constraints. Several concurrent constraint programming ...
Beyond schema evolution to database reorganization
While the contents of databases can be easily changed, their organization is typically extremely rigid. Some databases relax the rigidity of database organization somewhat by supporting simple changes to individual schemas. As described in this paper, ...
Kaleidoscope: mixing objects, constraints, and imperative programming
Kaleidoscope is an object-oriented language being designed to integrate the traditional imperative object-oriented paradigm with the less traditional declarative constraint paradigm. Imperative state changes provide sequencing while declarative ...
A logical theory of concurrent objects
A new theory of concurrent objects is presented. The theory has the important advantage of being based directly on a logic called rewriting logic in which concurrent object-oriented computation exactly corresponds to logical deduction. This deduction is ...
Message pattern specifications: a new technique for handling errors in parallel object oriented systems
As object oriented techniques enable the fabrication of ever more sophisticated systems, the need grows for a mechanism to ensure the consistent and 'correct' behaviour of each object at run-time. We describe a new, in-source specification mechanism, ...
Garbage collection of actors
This paper considers the garbage collection of concurrent objects for which it is necessary to know not only “reachability,” the usual criterion for reclaiming data, but also the “state” (active or blocked) of the object. For the actor model, a more ...
Structured analysis and object oriented analysis
The object-oriented paradigm still faces an open challenge: Delivering huge software systems routinely and cost effectively. To quote Ed Yourdon: “A system composed of 100,000 lines of C++ is not be sneezed at, but we don't have that much trouble ...
Strong typing of object-oriented languages revisited
This paper is concerned with the relation between subtyping and subclassing and their influence on programming language design. Traditionally subclassing as introduced by Simula has also been used for defining a hierarchical type system. The type system ...
Type substitution for object-oriented programming
Genericity allows the substitution of types in a class. This is usually obtained through parameterized classes, although they are inflexible since any class can be inherited but is not in itself parameterized. We suggest a new genericity mechanism, type ...
A parallel object-oriented language with inheritance and subtyping
This paper shows that inheritance and subtyping can be introduced advantageously into a parallel object-oriented language, POOL-I. These concepts are clearly distinguished, because they deal with different aspects of programming. In this way several ...
Contracts: specifying behavioral compositions in object-oriented systems
Behavioral compositions, groups of interdependent objects cooperating to accomplish tasks, are an important feature of object-oriented systems. This paper introduces Contracts, a new technique for specifying behavioral compositions and the obligations ...
When objects collide experiences with reusing multiple class hierarchies
Well-designed reusable class libraries are often incompatible due to architectural mismatches such as error-handling and composition conventions. We identify five pragmatic dimensions along which combinations of subsystems must match, and present ...
PCLOS: stress testing CLOS experiencing the metaobject protocol
This paper demonstrates that the CLOS metaobject protocol approach to defining and implementing an object model is very powerful. CLOS is an object-oriented language that is based on Common Lisp and is in the process of being standardized. ...
Reasoning about object-oriented programs that use subtypes
Programmers informally reason about object-oriented programs by using subtype relationships to classify the behavior of objects of different types and by letting supertypes stand for all their subtypes. We describe formal specification and verification ...
Type consistency of queries in an object-oriented database system
Queries in object-oriented databases can return non-homogeneous sets of objects when no type restrictions are placed on the inputs to the query. The tradition has been to force homogeneity on the result by restricting the types of the inputs. This ...
Issues in object database management
While the availability of commercial systems from several vendors indicates maturity in object database management technology, there are numerous issues which remain. This panel will attempt to expose and discuss several of these issues.
Part of the ...
A framework for visualizing object-oriented systems
This paper describes a new approach to visualizing program systems within the object-oriented paradigm. This approach is based on a TEX-like notation which has been extended and generalized for specifying graphical layout of arbitrary objects. The CLOS ...
Painting multiple views of complex objects
This paper reviews and illustrates a direct manipulation approach to visualization of complex objects called painting multiple views. We describe a programming model for direct manipulation in general and for painting in particular, based on simple ...
MoDE: a UIMS for Smalltalk
While the Model-View-Controller (MVC) framework has contributed to many aspects of user interface development in Smalltalk, interfaces produced with MVC often have highly coupled model, view, and controller classes. This coupling and the effort required ...
COOL: kernel support for object-oriented environments
The Chorus Object-Oriented Layer (COOL) is an extension of the facilities provided by the Chorus distributed operating system with additional functionality for the support of object-oriented environments. This functionality is realized by a layer built ...
The performance of an object-oriented threads package
Presto is an object-oriented threads package for writing parallel programs on a shared-memory multiprocessor. The system adds thread objects and synchronization objects to C++ to allow programmers to create and control parallelism. Presto's object-...
Object-oriented real-time language design: constructs for timing constraints
We propose a new object-oriented programming language called RTC++ for programming real-time applications. RTC++ is an extension of C++ and its features are to specify i) a real-time object which is an active entity, ii) timing constraints in an ...
OOP in the real world
Some advocates of OOP have promised that it will make all code reusable, shorten development cycles, remove the applications backlog, cure the common cold and plug the hole in the ozone layer.
How well does actual experience bear this out?
Success stories ...
Mixin-based inheritance
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 ...
Cited By
- Cunha C and Sobral J An Annotation-Based Framework for Parallel Computing Proceedings of the 15th Euromicro International Conference on Parallel, Distributed and Network-Based Processing, (113-120)
-
Sobral J (2006). Incrementally developing parallel applications with AspectJ Proceedings 20th IEEE International Parallel & Distributed Processing Symposium, 10.1109/IPDPS.2006.1639352, 1-4244-0054-6, (10 pp.)
- Dovland J, Johnsen E and Owe O Verification of Concurrent Objects with Asynchronous Method Calls Proceedings of the IEEE International Conference on Software - Science, Technology & Engineering, (141-150)
-
Johnsen E and Owe O An asynchronous communication model for distributed concurrent objects Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004., 10.1109/SEFM.2004.1347520, 0-7695-2222-X, (188-197)
-
Yamaguchi S and Maruyama K Autonomous load balance system for distributed servers using active objects 12th International Workshop on Database and Expert Systems Applications, 10.1109/DEXA.2001.953058, 0-7695-1230-5, (167-171)
- Di Blasio P, Fisher K and Talcott C (2000). A Control-Flow Analysis for a Calculus of Concurrent Objects, IEEE Transactions on Software Engineering, 26:7, (617-634), Online publication date: 1-Jul-2000.
-
Scinturier L, Duchien L and Florin G A meta-object protocol for distributed OO applications TOOLS USA 97. International Conference on Technology of Object Oriented Systems and Languages, 10.1109/TOOLS.1997.654738, 0-8186-8383-X, (306-317)
-
Sobral J and Proenca A ParC++: a simple extension of C++ to parallel systems Sixth Euromicro Workshop on Parallel and Distributed Processing - PDP '98 -, 10.1109/EMPDP.1998.647233, 0-8186-8332-5, (453-459)
-
Baba T, Yoshinaga T, Iwamoto Y and Abe D The A-NET working prototype: a parallel object-oriented multicomputer with reconfigurable network Innovative Architecture for Future Generation High-Performance Processors and Systems, 10.1109/IWIA.1997.670406, 0-8186-8424-0, (40-49)
- Kafura D and Briot J (2018). Actors and Agents, IEEE Concurrency, 6:2, (24-28), Online publication date: 1-Apr-1998.
-
Ju Byoung Oh , Jin Suk Kim and Hye Kyu Kim An application sharing object and behavior for collaboration based system 23rd Euromicro Conference New Frontiers of Information Technology - Short Contributions -, 10.1109/EMSCNT.1997.658435, 0-8186-8215-9, (38-43)
-
Poggi A (1996). HOMAGE: a heterogeneous object-based environment to develop multi-agent systems Proceedings of HICSS-29: 29th Hawaii International Conference on System Sciences, 10.1109/HICSS.1996.495473, 0-8186-7324-9, (282-289 vol.1)
-
Leung B and Chiu P Behaviour equation as solution of inheritance anomaly in concurrent object-oriented programming languages 4th Euromicro Workshop on Parallel and Distributed Processing, 10.1109/EMPDP.1996.500608, 0-8186-7376-1, (360-366)
-
Poggi (1994). Agents and resources management with CUBL Proceedings of the Twenty-Seventh Annual Hawaii International Conference on System Sciences, 10.1109/HICSS.1994.323360, 0-8186-5090-7, (112-121)
-
Corriveau (1994). On the design of a concurrent object-oriented spreading activation architecture Proceedings of the Twenty-Seventh Annual Hawaii International Conference on System Sciences, 10.1109/HICSS.1994.323364, 0-8186-5090-7, (73-81)
-
Wang F, Chen J and Hu C A distributed object-oriented system with multi-threads of services 1993 4th Workshop on Future Trends of Distributed Computing Systems, 10.1109/FTDCS.1993.344149, 0-8186-4430-3, (247-254)
-
Agha G, Mason I, Smith S and Talcott C Towards a theory of actor computation CONCUR '92, 10.1007/BFb0084816, (565-579)
Index Terms
Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Recommendations
What Is Object-Oriented Programming?
The meaning of the term 'object oriented' is examined in the context of the general-purpose programming language C++. This choice is made partly to introduce C++ and partly because C++ is one of the few languages that supports data abstraction, object-...
Encapsulation and inheritance in object-oriented programming languages
OOPSLA '86: Conference proceedings on Object-oriented programming systems, languages and applicationsObject-oriented programming is a practical and useful programming methodology that encourages modular design and software reuse. Most object-oriented programming languages support data abstraction by preventing an object from being manipulated except ...
Acceptance Rates
| Year | Submitted | Accepted | Rate |
|---|---|---|---|
| OOPSLA '14 | 186 | 52 | 28% |
| OOPSLA '13 | 189 | 50 | 26% |
| OOPSLA '09 | 144 | 25 | 17% |
| OOPSLA '07 | 156 | 33 | 21% |
| OOPSLA '03 | 147 | 26 | 18% |
| OOPSLA '02 | 125 | 25 | 20% |
| OOPSLA '01 | 145 | 27 | 19% |
| OOPSLA '99 | 152 | 30 | 20% |
| Overall | 1,244 | 268 | 22% |



