When we understand, specify, and develop systems, we use certain concepts and constructs to deal with complexity. Object-oriented (OO) approaches provide good ways for doing so. However, many existing OO approaches (p...
详细信息
When we understand, specify, and develop systems, we use certain concepts and constructs to deal with complexity. Object-oriented (OO) approaches provide good ways for doing so. However, many existing OO approaches (perhaps based on object models used in existing OO languages) cannot solve important problems encountered in large and complex systems. For example, we often have to deal with properties of ''things'' that cannot be represented in a neat hierarchy. Some of these properties may significantly change with time. Moreover, many of these properties refer to collections of objects without identifying a single object as ''owner'' of each property. The authors of this technical note have separately proposed approaches for solving these problems, but at very different stages of the development life cycle. However, the underlying concepts of these approaches are so close that they can be successfully combined to provide a common solution that encompasses all stages of the life cycle.
Ways of increasing CPU usage in a multiprogrammed environment are considered. Simulation of a multiprogramming operating system shows a significant increase in CPU utilisation as the I/O buffer size is increased; resu...
详细信息
Ways of increasing CPU usage in a multiprogrammed environment are considered. Simulation of a multiprogramming operating system shows a significant increase in CPU utilisation as the I/O buffer size is increased; result also confirm a reduction in CPU idle time as the number of I/O disc channels is increased. The investigation suggest that such systems would benefit from an increased I/O buffer *** article s'attache a étudier les différentes manières d'augmenter sensiblement l'utilisation d'une CPU dans un environne de multiprogrammation. A l'issue d'une simulation d'un système de multiprogrammation, il a été constaté que le temps effectif d'utilisation d'une CPU diminue quand la taille des tampons d'entrées/sorties, elle, augmente. Des résultats similaries confirment qu'une augmentation de canaux d'entrées/sorties utilisant des disques, réduit d'une manière appreciable le temps d'attente de l'unité de traitement (CPU). Gain de temps et de souplesse, si la taille des tampons d'entrées/sorties est augmentée, est la concusion que suggère cette étude.
It is easy to create working prototypes in a visual programming language, good programming practices often are neglected when complete tests are generated. This neglect leads to additional debugging time and higher ma...
详细信息
It is easy to create working prototypes in a visual programming language, good programming practices often are neglected when complete tests are generated. This neglect leads to additional debugging time and higher maintenance costs. Implementing programming practices used in text-based languages in graphical programming environment can avoid common pitfalls. These practices make visual programming more efficient through the entire life cycle, from the design to maintenance. Good visual programming practices are developed and presented.
An execution program is considered that supervises the cooperating tasks between independently running microcomputers. The supervisor consists of three main parts: the management of tasks, communication, and storage.
An execution program is considered that supervises the cooperating tasks between independently running microcomputers. The supervisor consists of three main parts: the management of tasks, communication, and storage.
Associative networks are parallel pattern-processing structures, capable of handling disturbed patterns in a robust manner. In this paper an implementation of a fast and robust dictionary-lookup algorithm for misspelt...
详细信息
Associative networks are parallel pattern-processing structures, capable of handling disturbed patterns in a robust manner. In this paper an implementation of a fast and robust dictionary-lookup algorithm for misspelt words using this technique is described. To code the words to be processed in a way that is suitable for processing in a network, the “rubber trigram” code is introduced. The program is capable of retrieving words from a dictionary of at least 25 000 words, even if the key contains severe misspellings. The presented algorithm is suitable for interactive dictionary lookup, e.g. in a word-processing system, being more flexible than the use of conventional dictionaries and lookup methods.
A notion of type assignment on Curryfied Term Rewriting systems is introduced that uses Intersection Types of Rank 2, and in which all function symbols are assumed to have a type. Type assignment will consist of speci...
详细信息
A notion of type assignment on Curryfied Term Rewriting systems is introduced that uses Intersection Types of Rank 2, and in which all function symbols are assumed to have a type. Type assignment will consist of specifying derivation rules that describe how types can be assigned to terms, using the types of function symbols. Using a modified unification procedure, for each term the principal pair (of basis and type) will be defined in the following sense: from these all admissible pairs can be generated by chains of operations on pairs, consisting of the operations substitution, copying, and weakening. In general, given an arbitrary typeable qqTRS, the subject reduction property does not hold. Using the principal type for the left-hand side of a rewrite rule, a sufficient and decidable condition will be formulated that typeable rewrite rules should satisfy in order to obtain this property.
Traditional implementations of conditional critical regions and monitors can lead to unproductive ″busy waiting″ if processes are allowed to wait on arbitrary boolean expressions. Techniques from global flow analysi...
详细信息
Traditional implementations of conditional critical regions and monitors can lead to unproductive ″busy waiting″ if processes are allowed to wait on arbitrary boolean expressions. Techniques from global flow analysis may be employed at compile time to obtain information about which critical regions (monitor calls) are enabled by the execution of a given critical region (monitor call). The complexity of computing this information is investigated, and it is shown how it can be used to obtain efficient scheduling algorithms with less busy waiting.
A programming notation is introduced to describe the behavior of groups of parallel processes, communicating with each other over a network of named channels. An assertion is a predicate with free channel names, each ...
详细信息
A programming notation is introduced to describe the behavior of groups of parallel processes, communicating with each other over a network of named channels. An assertion is a predicate with free channel names, each of which stands for the sequence of values which have been communicated along that channel up to some moment in time. A process invariantly satisfies an assertion if that assertion is true before and after each communication by that process. A system of inference rules is presented for proving that processes satisfy assertions, and their use is illustrated. The validity of the inference rules is established by constructing a model of the programming notation, and by proving each inference rule as a theorem about the model. Limitations of the model and proof system are discussed.
The plan matching problem is to determine whether a program plan is present in a program. This problem has been shown to be NP-hard, which makes it an open question whether plan matching algorithms can be developed th...
详细信息
The plan matching problem is to determine whether a program plan is present in a program. This problem has been shown to be NP-hard, which makes it an open question whether plan matching algorithms can be developed that scale sufficiently well to be useful in practice. This paper discusses experiments in the scalability of a series of constraint-based program plan matching algorithms we have developed. These empirical studies have led to significant improvements in the scalability of our plan matching algorithm, and they suggest that this algorithm can be successfully applied to large, real-world programs. (C) 2000 Elsevier Science B.V. All rights reserved.
作者:
FREDERIC.DHIBM CORP
THOMAS J WATSON RES CTRRES DIVYORKTOWN HEIGHTSNY 10598
Programmers are quite accustomed to describing data they use: where to find it, what devices are involved, the layout of the data, what to do with it after the job is complete, processing techniques employed, and ofte...
详细信息
Programmers are quite accustomed to describing data they use: where to find it, what devices are involved, the layout of the data, what to do with it after the job is complete, processing techniques employed, and often a great deal more. The reason data is so described is that, nowadays, programs call upon a great many other programs for assistance. All sorts of common-place functions that the programmer takes for granted are provided by other, already-written programs, that are invoked explicitly or implicitly by what the programmer himself writes. Thus programmers must describe things about their data to be able to use the functions provided.
暂无评论