A language space provides a unified framework to deal with the properties of language constructs by associating them with their specification rules. The concrete syntax is represented by segments of the language space...
详细信息
A language space provides a unified framework to deal with the properties of language constructs by associating them with their specification rules. The concrete syntax is represented by segments of the language space. The semantics is given by derived operations of the algebras where these constructs are interpreted by the processing tools operating on the language space. We examine in this paper only processing tools that collect syntactic information over the language space. Tools involved in semantics processing such as translators and interpreters are also integrated in the language space but are not discussed here.
REXX is a procedural language with many novel features. Its goal was to make programming easier in the belief that getting the design right for people to use is more important than providing for easy implementation. R...
详细信息
REXX is a procedural language with many novel features. Its goal was to make programming easier in the belief that getting the design right for people to use is more important than providing for easy implementation. REXX development depended on the use of electronic mail. As a result, and perhaps uniquely for a programming language, there is an essentially complete historical record of the design process and discussions. This article describes the early history of REXX, illustrated by quotations from the electronic mail record and from other contemporary documents.
CLUSTAL is a package for performing fast and reliable automatic multiple alignment of many DNA or protein sequences. It was originally written for IBM-compatible microcomputers (1,2) and was later reorganized as a sin...
详细信息
CLUSTAL is a package for performing fast and reliable automatic multiple alignment of many DNA or protein sequences. It was originally written for IBM-compatible microcomputers (1,2) and was later reorganized as a single program for VAX mainframes. Recently (3), the package was completely rewritten as a new program, CLUSTAL V, which is freely available for a wide variety of computer systems and which has a number of new features. The main improvements are the calculation of phylogenetic trees from sequence data sets with a bootstrap option for calculating confidence intervals on the groupings and the ability to align alignments with each other. less
L.0 is a programming language designed for the specification and simulation of protocols. The model of concurrency assumed in L.0 is a true concurrency model, rather than an interleaving semantics model. Thus, simulta...
详细信息
L.0 is a programming language designed for the specification and simulation of protocols. The model of concurrency assumed in L.0 is a true concurrency model, rather than an interleaving semantics model. Thus, simultaneous occurrence of events may be easily specified in L.0. This paper gives the semantics of L.0 in terms of predicate linear temporal logic and defines the restricted universe of models assumed in L.0 programs. The execution algorithm for L.0 constructs a model in this universe. The restricted subset of temporal logic exploited permits a nonbacktracking execution algorithm. Fundamental to the semantics of L.0 is a frame assumption, which generalizes the frame assumption of standard imperative programming, and which eases specification of protocols. The data domain assumed in L.0 programs is sets of trees with labeled edges, and the state predicates permitted include existence and nonexistence predicates, as well as the more traditional assignment and equality predicates. These choices for data domain and predicates permit convenient specification of the hierarchical message structure often assumed in telecommunications protocols. For in such message structures, the existence or nonexistence of parts of the message hierarchy is determined by logical properties of the rest of the message hierarchy. The subject of the main example in the paper is a small portion of the Logical Layer Specification of Futurebus+.
Mathematical software is devoted to solve problems involving matrix computation and manipulation. The main problem limiting the reusability of existing mathematical software is the following: programs are often not in...
详细信息
Mathematical software is devoted to solve problems involving matrix computation and manipulation. The main problem limiting the reusability of existing mathematical software is the following: programs are often not initially designed for being reused. Therefore, it is hard to find programs that can be easily reused. In the first part or this paper, we give a programming methodology useful for designing and implementing reusable code. We name unit a portion of code designed and implemented for being reused. Our units are self-contained software components featuring a high degree of information hiding. This way of organizing software facilitates the reuse process and, furthermore, improves the understandability of units. To speed up the implementation process, a system supporting the reusability of units from an existing software library is particularly useful. In the second part of this paper, we report about an easy to use system of this kind.
An overview is given of Formula (an abbreviation for Forth Music language), a language for controlling synthesizers that can model the expressiveness of a human performance. Formula supports algorithmic composition, i...
详细信息
An overview is given of Formula (an abbreviation for Forth Music language), a language for controlling synthesizers that can model the expressiveness of a human performance. Formula supports algorithmic composition, interactive performance, and programmed interpretation of traditional scores. It uses concurrent processes that share a single address space and are scheduled by the runtime system. Note-playing processes compute sequences of pitches and play these pitches as notes or chords. Auxiliary processes are attached to note-playing processes or groups to supply note parameters such as volume, duration, and articulation. Input-handling processes execute when input arrives from a particular device. Two representative Formula programs are described
We have written a programming language OCL (Object Command language) to solve, in a general way, two recurring problems that arise during the construction of molecular models and during the geometrical characterizatio...
详细信息
We have written a programming language OCL (Object Command language) to solve, in a general way, two recurring problems that arise during the construction of molecular models and during the geometrical characterization of macromolecules: how to move precisely and reproducibly any part of a molecular model in any user-defined local reference axes;and how to calculate standard or user-defined structural parameters that characterize the complex geometries of any macromolecule. OCL endows the user with three main capabilities: the definition of subsets of the macromolecule, called objects in OCL, with a formalism from elementary set theory or lexical analysis;the definition of sequences of elementary geometrical operations, called procedures in OCL, enabling one to build arbitrary three-dimensional (3D) orthonormal reference frames, to be associated with previously defined objects;and the transmission of these definitions to programs that allow one to display, to modify and to analyze interactively the molecular structure, or to programs that perform energy minimizations or molecular dynamics. Several applications to nucleic acids are resented.
Methodological guidelines for object-oriented software construction that improve the reliability of the resulting software systems are presented. It is shown that the object-oriented techniques rely on the theory of d...
详细信息
Methodological guidelines for object-oriented software construction that improve the reliability of the resulting software systems are presented. It is shown that the object-oriented techniques rely on the theory of design by contract, which underlies the design of the Eiffel analysis, design, and programming language and of the supporting libraries, from which a number of examples are drawn. The theory of contract design and the role of assertions in that theory are discussed
Pegasus, a heterogeneous multidatabase management system that responds to the need for effective access and management of shared data across in a wide range of applications, is described. Pegasus provides facilities f...
详细信息
Pegasus, a heterogeneous multidatabase management system that responds to the need for effective access and management of shared data across in a wide range of applications, is described. Pegasus provides facilities for multidatabase applications to access and manipulate multipole autonomous heterogeneous distributed object-oriented relational, and other information systems through a uniform interface. It is a complete data management system that integrates various native and local databases. Pegasus takes advantage of object-oriented data modeling and programming capabilities. It uses both type and function abstractions to deal with mapping and integration problems. Function implementation can be defined in an underlying database language or a programming language. Data abstraction and encapsulation facilities in the Pegasus object model provide an extensible framework for dealing with various kinds of heterogeneities in the traditional database systems and nontraditional data sources
This paper presents the synchronous real-time language Signal, based on a logical notion of the time, considered as a chronology. It allows, on the one hand, the programming of signal processing algorithms, and, on th...
详细信息
This paper presents the synchronous real-time language Signal, based on a logical notion of the time, considered as a chronology. It allows, on the one hand, the programming of signal processing algorithms, and, on the other hand, the description of architectures. A formal calculus allows verifications of the synchronizations and transformations of the initial program to prepare its simulation on multiprocessor. The presentation is illustrated with the description of an environment for speech processing realized in Signal.
暂无评论