39,492 research outputs found
An Object-Oriented Model for Extensible Concurrent Systems: the Composition-Filters Approach
Applying the object-oriented paradigm for the development of large and complex software systems offers several advantages, of which increased extensibility and reusability are the most prominent ones. The object-oriented model is also quite suitable for modeling concurrent systems. However, it appears that extensibility and reusability of concurrent applications is far from trivial. The problems that arise, the so-called inheritance anomalies are analyzed and presented in this paper. A set of requirements for extensible concurrent languages is formulated. As a solution to the identified problems, an extension to the object-oriented model is presented; composition filters. Composition filters capture messages and can express certain constraints and operations on these messages, for example buffering. In this paper we explain the composition filters approach, demonstrate its expressive power through a number of examples and show that composition filters do not suffer from the inheritance anomalies and fulfill the requirements that were established
Automating Fine Concurrency Control in Object-Oriented Databases
Several propositions were done to provide adapted concurrency control to
object-oriented databases. However, most of these proposals miss the fact that
considering solely read and write access modes on instances may lead to less
parallelism than in relational databases! This paper cope with that issue, and
advantages are numerous: (1) commutativity of methods is determined a priori
and automatically by the compiler, without measurable overhead, (2) run-time
checking of commutativity is as efficient as for compatibility, (3) inverse
operations need not be specified for recovery, (4) this scheme does not
preclude more sophisticated approaches, and, last but not least, (5) relational
and object-oriented concurrency control schemes with read and write access
modes are subsumed under this proposition
An Analysis of Aspect Composition Problems
The composition of multiple software units does not always yield the desired results. In particular, aspect-oriented composition mechanisms introduce new kinds of composition problems. These are caused by different characteristics as compared to object-oriented composition, such as inverse dependencies. The aim of this paper is to contribute to the understanding of aspect-oriented composition problems, and eventually composition problems in a more general context. To this extent we propose and illustrate a systematic approach to analyze composition problems in a precise and concrete manner. In this approach we represent aspect-based composition mechanisms as transformation rules on program graphs. We explicitly model and show where composition problems occur, in a way that can easily be fully automated. In this paper we focus on structural superimposition (cf. intertype declarations) to illustrate our approach; this results in the identification of three categories of causes of composition problems. \u
Data Abstraction Mechanisms in Sina/st
This paper describes a new data abstraction mechanism in an object-oriented model of computing. The data abstraction mechanism described here has been devised in the context of the design of Sina/st language. In Sina/st no language constructs have been adopted for specifying inheritance or delegation, but rather, we introduce simpler mechanisms that can support a wide range of code sharing strategies without selecting one among them as a language feature. Sina/st also provides a stronger data encapsulation than most of the existing object-oriented languages. This language has been implemented on the SUN 3 workstation using Smalltalk
An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach
This paper introduces a new model, based on so-called object-composition filters, that uniformly integrates database-like features into an object-oriented language. The focus is on providing persistent dynamic data structures, data sharing, transactions, multiple views and associative access, integrated with the object-oriented paradigm. The main contribution is that the database-like features are part of this new object-oriented model, and therefore, are uniformly integrated with object-oriented features such as data abstraction, encapsulation, message passing and inheritance. This approach eliminates the problems associated with existing systems such as lack of reusability and extensibility for database operations, the violation of encapsulation, the need to define specific types such as sets, and the incapability to support multiple views. The model is illustrated through the object-oriented language Sina
DeltaImpactFinder: Assessing Semantic Merge Conflicts with Dependency Analysis
In software development, version control systems (VCS) provide branching and
merging support tools. Such tools are popular among developers to concurrently
change a code-base in separate lines and reconcile their changes automatically
afterwards. However, two changes that are correct independently can introduce
bugs when merged together. We call semantic merge conflicts this kind of bugs.
Change impact analysis (CIA) aims at estimating the effects of a change in a
codebase. In this paper, we propose to detect semantic merge conflicts using
CIA. On a merge, DELTAIMPACTFINDER analyzes and compares the impact of a change
in its origin and destination branches. We call the difference between these
two impacts the delta-impact. If the delta-impact is empty, then there is no
indicator of a semantic merge conflict and the merge can continue
automatically. Otherwise, the delta-impact contains what are the sources of
possible conflicts.Comment: International Workshop on Smalltalk Technologies 2015, Jul 2015,
Brescia, Ital
The syntax of DRAGOON: Evaluation and recommendations
Several different ways to add linguistic support for object-oriented programming to the Ada programming language have been proposed and developed in recent years. The Distributable Reusable Ada Generated from an Object-Oriented Notation (DRAGOON) language is one such Ada extension. The DRAGOON syntax is described for classes, objects, and inheritance, and the syntax is evaluated against the following five criteria: readability, writeability, lack of ambiguity, ease of translation, and consistency with existing Ada syntax. The evaluation reveals several deficiencies in the notation. A revised syntax that corrects these deficiencies is proposed
Modular and composable extensions to smalltalk using composition filters
Current and future trends in computer science require extensions to Smalltalk. Rather than arguing for particular language mechanisms to deal with specific requirements, in this position paper we want to make a case for two requirements that Smalltalk extensions should fulfill. The first is that the extensions must be integrated with Smalltalk without violating its basic object model. The second requirement is that extensions should allow for defining objects that are still adaptable, extensible and reusable, and in particular do not cause inheritance anomalies. We propose the composition filters model as a framework for language extensions that fulfills these criteria. Its applicability to solving various modeling problems is briefly illustrated
- …