PROPAGATOR is a family of patterns for consistently updating objects in a dependency network. The propagator patterns are found in such diverse applications as MAKE, WWW, spreadsheets, GUIs, reactive control systems, ...
详细信息
PROPAGATOR is a family of patterns for consistently updating objects in a dependency network. The propagator patterns are found in such diverse applications as MAKE, WWW, spreadsheets, GUIs, reactive control systems, simulation systems, distributed file systems, distributed databases, workflow systems, and multilevel caches. There are four main patterns: STRICT PROPAGATOR, STRICT PROPAGATOR WITH FAILURE, LAZY PROPAGATOR, and ADAPTIVE PROPAGATOR. In the strict propagation patterns, updates flow from the point of original change forward through the network. Dependent objects are immediately updated, unless failure occurs. In the lazy propagation pattern, an updated object merely sets its timestamp, without notifying any other object. Upon request, a dependent object makes itself current after requesting predecessor objects to bring themselves up-to-date. The adaptive propagator separates propagation of out-of-date markers from the actual update. It supports a combination of strict, optimistic, lazy, and periodic update schemes. All patterns support smart propagation for avoiding redundant work as well as concurrent updates.
In an objectoriented system different types of objects may have one or more attributes in common. For example different types of objects in a library system might be `loanable' or `catalogued'. The first part...
详细信息
In an objectoriented system different types of objects may have one or more attributes in common. For example different types of objects in a library system might be `loanable' or `catalogued'. The first part of the paper introduces a distinction between object types and attribute types, showing that there are advantages in treating them as separate constructs of an object-oriented programming language. Then generalized attribute types, (e.g. `synchronized', `journalized', `protected') are discussed. It is shown how implementations involving a technique called bracket routines can lead to clearly modeled and cleanly implemented programs. It is then shown how the bracket technique can be effectively used to introduce protection and security concepts into a system. Among the clear advantages of this technique is that it results in better reusability of code.
We present a new object-oriented language called VRML++ which extends the Virtual Reality Modeling Language (VRML 2.0), a specification language for interactive three-dimensional scenes on the internet. The new featur...
详细信息
Recent proposals for adding parameterized types to Java have left a number of important practical issues undiscussed. In this paper we present the language Genja which is a new generic extension of Java oriented towar...
详细信息
Recent proposals for adding parameterized types to Java have left a number of important practical issues undiscussed. In this paper we present the language Genja which is a new generic extension of Java oriented towards practical support for generic collection types. We discuss design alternatives related to extending the power of unconstrained genericity, solving the weaknesses of constrained genericity in other proposals and defining the compatibility of named and anonymous instantiations. By enhancing support for reusability and providing a higher level style of programming via a library of standard generic collection types Genja aims to extend Java's contribution to efficient software production.
As part of a work that models objects of a class in a multidimensional space on state criteria, and provides a neat and powerful inheritance mechanism, this paper focuses on one aspect of such modeling, namely the mix...
详细信息
As part of a work that models objects of a class in a multidimensional space on state criteria, and provides a neat and powerful inheritance mechanism, this paper focuses on one aspect of such modeling, namely the mixin concept. The problem is how to isolate in a reusable way supplements of behavior (e.g. Bounded) that are not meaningful by themselves but only when combined with the behavior of regular objects having certain properties (i.e. instances of Stack. Queue...). The concept's novelty lies not in its known improvement of modularity in OO design, but in its innovative upscaling to multidimensional objects. This paper describes the mixins proper (as receptacles of behavioral supplements), and an operator, dubbed derivation, for attaching these mixins to classes and combining the involved behaviors. Central to modeling, it is shown, is the destination of each transition outcoming from the hook node of acceptable base graphs.
Over the last decade object-oriented development methods and techniques have gained rapid acceptance in many areas, such as Graphical User Interfaces and Network Programming. Currently there are two major standard arc...
详细信息
The documents of a software project provide rich resources for reuse if the reusable assets are well documented in them. The resources are particularly useful for the development of a family of software in the same ap...
详细信息
To improve performance of object-oriented database processing, integration between parallel and objectoriented technologies is sought. In this paper, we concentrate on path expression queries. Parallelization of path ...
详细信息
Inheritance is an important concept in the object-oriented paradigm. But, its se mantics is far from being well-defined. This paper focuses on the inheritance with overriding. At first, an elegant approach will be pro...
详细信息
There are two particular theories in object-oriented programming languages: overloading and polymorphism. When a program has either of these two specialities and is depicted with a statechart, problems arise because d...
详细信息
暂无评论