Results 11 -
18 of
18
HieraStates: Flexible Interaction with Objects
, 1994
"... We introduce a new formalism for programming state-dependent object behavior. Object behavior is specified by hierarchical state-transition diagrams. The diagrams are used at run time as a support for direct user interaction. The user may invoke or reset transitions according to the current state ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
We introduce a new formalism for programming state-dependent object behavior. Object behavior is specified by hierarchical state-transition diagrams. The diagrams are used at run time as a support for direct user interaction. The user may invoke or reset transitions according to the current state of an object. The main new features of the formalism are its integration with multiple inheritance and its support for handling unexpected situations. One possible application is the specification of execution schemes in systems for the support of workflow or office procedures. Contents 1 Introduction 1 1.1 Object States and User Interaction ::::::::::::::::::: 1 1.1.1 Procedure Schemes :::::::::::::::::::::: 1 1.1.2 Object States :::::::::::::::::::::::::: 2 1.1.3 Related Work ::::::::::::::::::::::::: 2 1.2 Overview of the HieraStates formalism :::::::::::::::: 3 1.3 The Object-Oriented Basis ELIOOS :::::::::::::::::: 5 1.3.1 Classes ::::::::::::::::::::::::::::: 6 1.3.2 Inst...
Concerning AOP and Inheritance
, 2001
"... Aspect-Oriented Programming (AOP) has recently been proposed as a new paradigm for software development. It supplies mechanisms and constructs for expressing concerns separated from each other. There are already general-purpose aspect languages which offer these mechanisms on implementation level. ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
Aspect-Oriented Programming (AOP) has recently been proposed as a new paradigm for software development. It supplies mechanisms and constructs for expressing concerns separated from each other. There are already general-purpose aspect languages which offer these mechanisms on implementation level. Aspect-oriented mechanisms can be used for changing the behavior of objects. The same results can be achieved using inheritance, well known in the objectoriented world. This paper compares those techniques and introduces, how inheritance can be applied to AOP. 1.
A dynamic binding strategy for multiple inheritance and asynchronously communicating objects
- FORMAL METHODS FOR COMPONENTS AND OBJECTS (FMCO 2004). VOLUME 3657 OF LECTURE NOTES IN COMPUTER SCIENCE., SPRINGER-VERLAG
, 2005
"... This paper considers an integration of asynchronous communication, virtual binding, and multiple inheritance. Object orientation is the leading paradigm for concurrent and distributed systems, but the tightly synchronized RPC communication model seems unsatisfactory in the distributed setting. Async ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
This paper considers an integration of asynchronous communication, virtual binding, and multiple inheritance. Object orientation is the leading paradigm for concurrent and distributed systems, but the tightly synchronized RPC communication model seems unsatisfactory in the distributed setting. Asynchronous messages are better suited, but lack the structure and discipline of traditional object-oriented methods. The integration of messages in the object-oriented paradigm is unsettled, especially with respect to inheritance and redefinition. Asynchronous method calls have been proposed in the Creol language, reducing the cost of waiting for replies in the distributed environment while avoiding lowlevel synchronization constructs such as explicit signaling. A lack of reply to a method call need not lead to deadlock in the calling object. Creol has an operational semantics defined in rewriting logic. This paper considers a formal operational model of multiple inheritance, virtual binding, and asynchronous communication between concurrent objects, extending the semantics of Creol.
A higher abstraction level using first-class inheritance relations
- In ECOOP 2007: Proceedings of the 21st European Conference on Object-Oriented Programming
, 2007
"... Abstract. Although classes are a fundamental concept in object-oriented programming, a class itself cannot be built using general purpose classes as building blocks in a practical manner. High-level concepts like associations, bounded values, graph structures, and infrastructure for event mechanisms ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Abstract. Although classes are a fundamental concept in object-oriented programming, a class itself cannot be built using general purpose classes as building blocks in a practical manner. High-level concepts like associations, bounded values, graph structures, and infrastructure for event mechanisms which form the foundation of a class cannot be reused conveniently as components for classes. As a result, they are implemented over and over again. We raise the abstraction level of the language with a code inheritance relation for reusing general purpose classes as components for other classes. Features like mass renaming, first-class relations, high-level dependencies, component parameters, and indirect inheritance ensure that maximal reuse can be achieved with minimal effort. A case study shows a reduction of the code between 21 % and 36%, while the closest competitor only reduces the size between 3 % and 12%. 1
Towards Variational Object-Oriented Programming: The RONDO Model
"... This paper presents a proposal to improve the standard object-oriented programming model with respect to supporting a larger range of incremental behavior variations. It will be demonstrated that classes and inheritance perfectly support the incremental modeling of different variants of a base abstr ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This paper presents a proposal to improve the standard object-oriented programming model with respect to supporting a larger range of incremental behavior variations. It will be demonstrated that classes and inheritance perfectly support the incremental modeling of different variants of a base abstract data type, but they do not properly model what we call context-dependent variations. These behavior variations are due to other factors including the internal state of an object in a computational system, different perspectives of how the object can be viewed by other participants of the same system, different usage patterns of the system, and different characteristics of the environment in which the system is operating. To deal with such context-dependent behavior variations, the Rondo model is proposed. It goes beyond classes and inheritance to support the separation of the description of a base behavior and its context-dependent variations in the same way that classes and inheritance support the separate description of a base behavior and its kind-of related variations. This separation results in improving the reusability and extensibility of software. Categories and Subject Descriptors: D.2.7 [Software Engineering]: Software Evolution and Reusability General Terms: Design, Languages Additional Key Words and Phrases: software evolution, incremental extensions, behavior variations
Inheritance From The Standpoint Of Specification And Modeling
, 1997
"... Specification and modeling are the first phases of large-scale and complex software development. Abstraction is a fundamental human capability that permits us to deal with complexity. Inheritance provides the means to model abstraction hierarchies. The topic of this master's thesis is to analyze ..."
Abstract
- Add to MetaCart
Specification and modeling are the first phases of large-scale and complex software development. Abstraction is a fundamental human capability that permits us to deal with complexity. Inheritance provides the means to model abstraction hierarchies. The topic of this master's thesis is to analyze the concepts and applicability of inheritance in the specification and modeling phases of software development. Implementation-level and specification-level motivations for using inheritance are contrasted throughout the work. We explore the main differences and possible problems in using inheritance on different levels of abstraction. Implementation-level inheritance is found to be used quite liberally as an incremental modification mechanism, which leads to conceptual and implementation problems that are not present in the specification and modeling of systems. The main contributions are in analyzing how inheritance relates to distribution, concurrency, modularity and temporal properties.
Ministry of Industry. Participants are:
"... This Master's thesis deals with the design and implementation of an ODMG language binding for BETA. The experimental ODMG database used is POET, and the resulting database efficiency is compared with the existing BETA persistent store. © Copyright 1998 The Centre for Object Technology (COT) is a thr ..."
Abstract
- Add to MetaCart
This Master's thesis deals with the design and implementation of an ODMG language binding for BETA. The experimental ODMG database used is POET, and the resulting database efficiency is compared with the existing BETA persistent store. © Copyright 1998 The Centre for Object Technology (COT) is a three year project concerned with research, application and implementation of object
Automating Delegation in Class-Based Languages
, 2000
"... Some designers of class-based object oriented languages choose not to support multiple inheritance. As a result, programmers often resort to ad hoc workarounds. The most common of these workarounds is delegation. Even delegation is tedious and error prone, however: We believe that language designer ..."
Abstract
- Add to MetaCart
Some designers of class-based object oriented languages choose not to support multiple inheritance. As a result, programmers often resort to ad hoc workarounds. The most common of these workarounds is delegation. Even delegation is tedious and error prone, however: We believe that language designers who choose against multiple inheritance should consider automating delegation in order to alleviate these problems. In this paper; we present Jamie, a language extension for Java that automates delegation. We also discuss the advantages and disadvantages of both delegation and automating it in a class-based programming language. Many of our observations are based on our experiences with implementing and using Jamie.

