Results 1 - 10
of
14
The C programming Language
, 1988
"... C is a general-purpose programming language. It has been closely associated with the UNIX operating system where it was developed, since both the system and most of the programs that run on it are written in C. The language, however, is not tied to any one operating system or machine; and although i ..."
Abstract
-
Cited by 1128 (14 self)
- Add to MetaCart
C is a general-purpose programming language. It has been closely associated with the UNIX operating system where it was developed, since both the system and most of the programs that run on it are written in C. The language, however, is not tied to any one operating system or machine; and although it has been called a ‘‘system programming language’’ because it is useful for writing compilers and operating systems, it has been used equally well to write major programs in many different
domains.
Many of the important ideas of C stem from the language BCPL, developed by Martin Richards. The influence of BCPL on
C proceeded indirectly through the language B, which was written by Ken Thompson in 1970 for the first UNIX system on
the DEC PDP-7.
BCPL and B are ‘‘typeless’’ languages. By contrast, C provides a variety of data types. The fundamental types are characters, and integers and floating point numbers of several sizes. In addition, there is a hierarchy of derived data types created with pointers, arrays, structures and unions. Expressions are formed from operators and operands; any expression, including an assignment or a function call, can be a statement. Pointers provide for machine-independent address arithmetic.
C provides the fundamental control-flow constructions required for well-structured programs: statement grouping, decision making (if-else), selecting one of a set of possible values (switch), looping with the termination test at the top (while, for) or at the bottom (do), and early loop exit (break).
Functions may return values of basic types, structures, unions, or pointers. Any function may be called recursively. Local variables are typically ‘‘automatic’’, or created anew with each invocation. Function definitions may not be nested but variables may be declared in a block-structured fashion. The functions of a C program may exist in separate source files that are compiled separately. Variables may be internal to a function, external but known only within a single source file, or visible to the entire program.
Delivering the Benefits of Persistence to System Construction and Execution
, 1992
"... In an orthogonally persistent programming system the longevity of data is independent of its other attributes. The advantages of persistence may be seen primarily in the areas of data modelling and protection resulting from simpler semantics and reduced complexity. These have been verified by the fi ..."
Abstract
-
Cited by 18 (5 self)
- Add to MetaCart
In an orthogonally persistent programming system the longevity of data is independent of its other attributes. The advantages of persistence may be seen primarily in the areas of data modelling and protection resulting from simpler semantics and reduced complexity. These have been verified by the first implementations of persistent languages, typically consisting of a persistent store, a run-time system and a compiler that produces programs that may access and manipulate the persistent environment. This thesis demonstrates that persistence can deliver many further benefits to the programming process when applied to software construction and execution. To support the thesis, a persistent environment has been extended with all the components necessary to support program construction and execution entirely within the persistent environment. This is the first known example of a strongly-typed integrated persistent programming environment. The keystone of this work is the construction of ...
The Behavior of C++ Classes
- In Proceedings of the Symposium on Object Oriented Programming Emphasizing Practical Applications, Marist College
, 1990
"... A++ ("annotated C++") is introduced as an aid in writing clearer, safer and faster object oriented programs in C++. A++ supports the specification of semantic information associated with C++ classes in a manner which is consistent with the object oriented paradigm. It enhances (1) code safety, via f ..."
Abstract
-
Cited by 14 (2 self)
- Add to MetaCart
A++ ("annotated C++") is introduced as an aid in writing clearer, safer and faster object oriented programs in C++. A++ supports the specification of semantic information associated with C++ classes in a manner which is consistent with the object oriented paradigm. It enhances (1) code safety, via formal verification, (2) code clarity, by replacing explicit dynamic consistency/error checks with higher level annotations, and (3) code performance, by using the annotations as an aid to optimization. A++ has two significant side benefits: (1) it encourages a more natural object oriented programming style than otherwise possible, again promoting safer code without execution penalty, and (2) it increases the power of the C++ base type system by supporting arbitrarily precise type definitions resulting in extremely fine grained type qualifiers (subranges, arbitrary sets, dynamic constraints, etc). In light of the complexity of formal verification, the immediate practical contribution of A++ i...
Extending a Graph Browser for Topological Graph Theory
- AT&T Bell Laboratories Technical Memorandum
, 1990
"... A graph browsing system has been extended to support several general graph operations related to topological graph theory, such as Cartesian product, suspension, face tracing, genus distribution, crosscap distribution, and converting between graphical rotation projections and combinatorial rotation ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
A graph browsing system has been extended to support several general graph operations related to topological graph theory, such as Cartesian product, suspension, face tracing, genus distribution, crosscap distribution, and converting between graphical rotation projections and combinatorial rotation systems. Facilities have also been provided for generating topological building blocks such as bouquets, cubes, paths, cycles, and complete graphs. This system can be used to define graphs diagrammatically and explore their topological properties. The graph browser, called Bonsai, provides an interpreter for a simple graph description language and a graphical interface for modeling information in the form of graph and set diagrams. Graph structures can be created with the browser and converted into a variety of textual forms to interface with other applications. Similarly, separate applications can generate text streams and direct them into Bonsai's interpreter to display the resulting anima...
The EOS Large Object Manager
, 1992
"... Large objects are used in many unconventional database applications; pictures, digitized video and sound recordings are a few examples of large objects that need to be stored in a database. This paper discribes the large object manager of the EOS object store. We present the storage structures an ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Large objects are used in many unconventional database applications; pictures, digitized video and sound recordings are a few examples of large objects that need to be stored in a database. This paper discribes the large object manager of the EOS object store. We present the storage structures and algorithms used for the efficient manipulation of general-purpose large unstructured objects. The large object is stored in a sequence of variable-size segments, each of which consists of a large number of physically contiguous disk blocks. Disk space management is based on the binary buddy system. The scheme supports operations that replace, insert, delete bytes at arbitrary positions within the object, and append bytes at the end of the object. We analyze the performance of our scheme and compare it with the corresponding ones employed in two other experimental database storage systems. Keywords: database storage organization, object-oriented databases, computer-aided design, mul...
N95-26711
"... Using an architectural approach to integrate heterogeneous, distributed software components ..."
Abstract
- Add to MetaCart
Using an architectural approach to integrate heterogeneous, distributed software components
Lapack++ V. 0.9
"... This document is a working draft. Its contents are incomplete and subject to change. Updates will be available from netlib@onrl.gov. Contents ..."
Abstract
- Add to MetaCart
This document is a working draft. Its contents are incomplete and subject to change. Updates will be available from netlib@onrl.gov. Contents
Hierarchical Architecture Simulation Environment
"... INTRODUCTION The Hierarchical Architecture Simulation Environment (HASE) is a tool for modelling and simulating computer architectures. Using HASE, designers can create and explore architectural designs at different levels of abstraction through a graphical interface based on X-Windows/Motif and ca ..."
Abstract
- Add to MetaCart
INTRODUCTION The Hierarchical Architecture Simulation Environment (HASE) is a tool for modelling and simulating computer architectures. Using HASE, designers can create and explore architectural designs at different levels of abstraction through a graphical interface based on X-Windows/Motif and can view the results of the simulation through animation of the design drawings. This chapter describes the design and animation facilities of HASE, compares it with other simulation systems and concludes with suggestions for future tools based on several years' experience using HASE within the University of Edinburgh department of computer science. 1.1.1. The Motivation Advanced simulation tools are available for low level electronic design, such as Spice for analogue circuits, and VLSI layout tools. However, tools for rapid prototyping of architectural ideas are less well established. Simulation languages can be used to model computer architectures, but the user has
Definition of 3D Model Objects
, 1996
"... : A set of 3--D data structures for the image analysis was defined. These data structures include all relevant parameters for the image analysis modules of WPG1, like motion, shape and texture estimation. Further, the requirements for a easy convertion into computer graphic data structures were con ..."
Abstract
- Add to MetaCart
: A set of 3--D data structures for the image analysis was defined. These data structures include all relevant parameters for the image analysis modules of WPG1, like motion, shape and texture estimation. Further, the requirements for a easy convertion into computer graphic data structures were considerd in the definiton. The data structures were implemented as a C++ class library using an object oriented approach. For the data exchange between the software modules to be developed in WPG1 an internal file format was defined and the transfer software implemented. Key words: PANORAMA, data structures Definition of 3D Model Objects -- 2 -- AC092/UH/DS/P/004 Contents 1. Introduction 3 2. Scene Representation 5 3 Data Structures for Scene Modelling 6 3.1 Basic Scene Classes 6 3.1.1. Dynamic Extension of C++ Objects with soft attributes 7 3.1.2 Object Motion 8 3.1.3 Representation of Rigid and Flexible Objects 9 3.1.4 Texture 10 3.2 Camera Models 11 3.2.1 Virtual Cameras 13 3.3 Images ...
Picture Interchange Coding (PIC) - Functional Specification and Encoding of Profile '2D'
, 1989
"... This documentation contains detailed specification of the Picture Interchange Coding (PIC) file format. PIC is a flexible format suitable for the encoding of graphical and related data. The PIC data format has been designed for and is used in conjunction with EDEN-based interactive graphics editors. ..."
Abstract
- Add to MetaCart
This documentation contains detailed specification of the Picture Interchange Coding (PIC) file format. PIC is a flexible format suitable for the encoding of graphical and related data. The PIC data format has been designed for and is used in conjunction with EDEN-based interactive graphics editors. The functional specification is closely related to that of CGM, CGI and PHIGS. The document presents an overview of the basic concepts of EDEN and PIC, the functional specification of PIC, and the coding specification of profile '2D'. IIG, Institutes for Information Processing Graz, Graz University of Technology and Austrian Computer Society (OCG) y reformatted on Oct 6, 1992 1 i Table of Contents 1 Introduction 1 1.1 The EDEN Editor Environment : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1.2 The Need for PIC : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1.3 Relation to CGM and PHIGS CSS : : : : : : : : : : : : : : : : ...

