Results 1 - 10
of
78
Regular Types for Active Objects
, 1993
"... Previous work on type-theoretic foundations for object-oriented programming languages has mostly focused on applying or extending functional type theory to functional "objects." This approach, while benefiting from a vast body of existing literature, has the disadvantage of dealing with state change ..."
Abstract
-
Cited by 181 (5 self)
- Add to MetaCart
Previous work on type-theoretic foundations for object-oriented programming languages has mostly focused on applying or extending functional type theory to functional "objects." This approach, while benefiting from a vast body of existing literature, has the disadvantage of dealing with state change either in a roundabout way or not at all, and completely sidestepping issues of concurrency. In particular, dynamic issues of non-uniform service availability and conformance to protocols are not addressed by functional types. We propose a new type framework that characterizes objects as regular (finite state) processes that provide guarantees of service along public channels. We also propose a new notion of subtyping for active objects, based on Brinksma's notion of extension, that extends Wegner and Zdonik's "principle of substitutability" to non-uniform service availability. Finally, we formalize what it means to "satisfy a client's expectations," and we show how regular types canbe used...
On the Representation of Roles in Object-Oriented and Conceptual Modelling
, 2000
"... The duality of objects and relationships is so deeply embedded in our thinking that almost all modelling languages include it as a fundamental distinction. Yet there is evidence that the two are naturally complemented by a third, equally fundamental notion: that of roles. Although definitions of the ..."
Abstract
-
Cited by 116 (8 self)
- Add to MetaCart
The duality of objects and relationships is so deeply embedded in our thinking that almost all modelling languages include it as a fundamental distinction. Yet there is evidence that the two are naturally complemented by a third, equally fundamental notion: that of roles. Although definitions of the role concept abound in the literature, we maintain that only few are truly original, and that even fewer acknowledge the intrinsic role of roles as intermediaries between relationships and the objects that engage in them. After discussing the major families of role conceptualizations, we present our own basic definition and demonstrate how it naturally accounts for many modelling issues, including multiple and dynamic classification, object collaboration, polymorphism, and substitutability. <3 2000 Elsevier Science B.V. All rights reserved.
Incremental Testing of Object-Oriented Class Structures
- In Proceedings of the 14th International Conference on Software Engineering
, 1992
"... Although there is much interest in creating libraries of well-designed, thoroughly-tested classes that can be confidently reused for many applications, few class testing techniques have been developed. In this paper,wepresent a class testing technique that exploits the hierarchical nature of the inh ..."
Abstract
-
Cited by 73 (5 self)
- Add to MetaCart
Although there is much interest in creating libraries of well-designed, thoroughly-tested classes that can be confidently reused for many applications, few class testing techniques have been developed. In this paper,wepresent a class testing technique that exploits the hierarchical nature of the inheritance relation to test related groups of classes by reusing the testing information for a parent class to guide the testing of a subclass. We i nitially test base classes having no parents by designing a test suite that tests each member function individually and also tests the interactions among member functions. To design a test suite for a subclass, our algorithm incrementally updates the history of its parent to reflect both the modified, inherited attributes and the subclass'snewly defined attributes. Only those new attributes or affected, inherited attributes are tested and the parent class'stest suites are reused, if possible, for the testing. Inherited attributes are retested in t...
From Coloured Petri Nets to Object Petri Nets
, 1995
"... ion Abstract: This paper seeks to establish within a formal framework how Coloured Petri Nets can be enhanced to produce Object Petri Nets. It does so by defining a number of intermediate Petri Net formalisms and identifying the features introduced at each step of the development. Object Petri Nets ..."
Abstract
-
Cited by 53 (6 self)
- Add to MetaCart
ion Abstract: This paper seeks to establish within a formal framework how Coloured Petri Nets can be enhanced to produce Object Petri Nets. It does so by defining a number of intermediate Petri Net formalisms and identifying the features introduced at each step of the development. Object Petri Nets support a complete integration of object-oriented concepts into Petri Nets, including inheritance and the associated polymorphism and dynamic binding. In particular, Object Petri Nets have a single class hierarchy which includes both token types and subnet types. Interaction between subnets can be either synchronous or asynchronous depending on whether the subnet is defined as a super place or a super transition. The single class hierarchy readily supports multiple levels of activity in the net and the generation and removal of tokens has been defined so that all subcomponents are simultaneously generated or removed, thus simplifying memory management. Despite this descriptive power, Object...
Viewing Objects as Patterns of Communicating Agents
, 1990
"... Following our own experience developing a concurrent object-oriented language as well of that of other researchers, we have identb))1 several key problems intT design of a concurrency model compat1}+ wit t he mechanisms ofobject}+4gTT1t programming. We propose an approacht language design in which ..."
Abstract
-
Cited by 45 (11 self)
- Add to MetaCart
Following our own experience developing a concurrent object-oriented language as well of that of other researchers, we have identb))1 several key problems intT design of a concurrency model compat1}+ wit t he mechanisms ofobject}+4gTT1t programming. We propose an approacht language design in which anexecut1}+ notcut describingte behaviour ofcommunicatTT agent isext+T5+ bysynt4g81 pat4g8 tt encapsulat languageconste1T)+ Weindicat how various language models can beaccommodat5T and how mechanisms such as inherit}+5 can be modeled. Finally, weint6+TT1 a newnotb( oft ypest hat charact(1}T6 concurrent object in t1+6 oft15+ ext5g41}T visible behaviour. 1.
A Study of The Fragile Base Class Problem
- IN EUROPEAN CONFERENCE ON OBJECT-ORIENTED PROGRAMMING
, 1998
"... In this paper we study the fragile base class problem. This problem occurs in open object-oriented systems employing code inheritance as an implementation reuse mechanism. System developers unaware of extensions to the system developed by its users may produce a seemingly acceptable revision of a ba ..."
Abstract
-
Cited by 39 (1 self)
- Add to MetaCart
In this paper we study the fragile base class problem. This problem occurs in open object-oriented systems employing code inheritance as an implementation reuse mechanism. System developers unaware of extensions to the system developed by its users may produce a seemingly acceptable revision of a base class which may damage its extensions. The fragile
TriGS - Making a Passive Object-Oriented Database System Active
, 1994
"... Active object-oriented concepts are especially useful in the area of nonstandard applications in order to express an event-driven and constraint-driven system environment. Several attempts have been made to integrate active concepts into objectoriented databases. Current approaches to active object- ..."
Abstract
-
Cited by 31 (15 self)
- Add to MetaCart
Active object-oriented concepts are especially useful in the area of nonstandard applications in order to express an event-driven and constraint-driven system environment. Several attempts have been made to integrate active concepts into objectoriented databases. Current approaches to active object-oriented database systems, however, do not consider the various active concepts together with some of the basic object-oriented concepts; they do not exploit all the advantages of object-oriented features to make the whole system more expressive and open for changing requirements. The system TriGS (=Trigger system for GemStone) fills this gap. TriGS makes explicit use of objects, message passing, inheritance, overriding and overloading to provide a seamless integration between triggers and an object-oriented data model. Triggers consisting of events, conditions, and actions monitor the behavior of objects and can be attached to specific classes or defined independently of any class hierarchy...
System Design by Composing Structures of Interacting Objects
- In Proceedings of the 1992 European Conference on Object-Oriented Programming
, 1992
"... This paper describes the outline of an object-oriented design technique denoted role modeling, emphasizing the ability to compose parts of a design. The purpose of role modeling is to achieve separation of concerns, allowing the designer to consider different aspects, or the same aspect at different ..."
Abstract
-
Cited by 27 (0 self)
- Add to MetaCart
This paper describes the outline of an object-oriented design technique denoted role modeling, emphasizing the ability to compose parts of a design. The purpose of role modeling is to achieve separation of concerns, allowing the designer to consider different aspects, or the same aspect at different levels of detail, more or less independent of other aspects of the overall design. A role model represents the concept of a structure of communicating objects; each object being represented by a role to be 'played' in the context of this role model. Each role model is considered a design of a separate aspect of some overall design. Composition of designs is achieved by synthesizing roles in several role models, constructing more aggregated and specialized roles and role models. Keywords: O-O Design, Interaction-Oriented Design, Role Modeling, Object Composition 1 Introduction Our basis is best presented by the words of Beck & Cunningham[Helm], '...no object is an island'. We consider re...
Types for Active Objects Based on Trace Semantics
- Proceedings FMOODS '96
, 1996
"... Static typing and subtyping are useful for the support of incremental refinement and reuse in object-oriented languages. Although demanded, there is currently no appropriate type model for concurrent object-oriented languages that supports dynamic behavior modifications. We propose a type model base ..."
Abstract
-
Cited by 26 (7 self)
- Add to MetaCart
Static typing and subtyping are useful for the support of incremental refinement and reuse in object-oriented languages. Although demanded, there is currently no appropriate type model for concurrent object-oriented languages that supports dynamic behavior modifications. We propose a type model based on a process calculus with trace semantics and demonstrate its use in a simple language. This model is an extension of conventional models for types and subtyping and ensures that all messages are processed even if object behavior is modified dynamically. Keywords type model, subtyping, concurrency, process algebra 1 INTRODUCTION The object-oriented paradigm is now probably the most important paradigm for the development of software. Object-oriented programming languages are based on objects communicating with other objects by exchanging messages (Wegner, 1990). An object is a self-contained entity characterized by its identity, state and behavior. The objects are classified according to...
Coordination Requirements Expressed in Types for Active Objects
, 1997
"... An object's type is usually regarded as a contract between the object and each of its users. However, in concurrent (and sometimes also in sequential) systems it is more useful to regard a type as a contract between an object and the unity of all users; the users must be coordinated before sending m ..."
Abstract
-
Cited by 26 (7 self)
- Add to MetaCart
An object's type is usually regarded as a contract between the object and each of its users. However, in concurrent (and sometimes also in sequential) systems it is more useful to regard a type as a contract between an object and the unity of all users; the users must be coordinated before sending messages to the object. Types in the proposed model express requirements on the coordination of users; objects must accept messages only in prespecified orderings. The model ensures statically that objects behave as specified by their types and users are coordinated appropriately. Keywords: Type model, concurrency, active objects. 1 Introduction Each expression written in a statically typed programming language has a unique type specified explicitly or derivable at compile-time. Strong typing ensures that violations of type constraints (type errors) cannot occur during program execution [3]. Static and strong typing may increase the readability and reliability of programs and support optimi...

