Results 1 - 10
of
263
On the design of CGAL a computational geometry algorithms library
- Softw. – Pract. Exp
, 1998
"... CGAL is a Computational Geometry Algorithms Library written in C++, which is being developed by research groups in Europe and Israel. The goal is to make the large body of geometric algorithms developed in the field of computational geometry available for industrial application. We discuss the major ..."
Abstract
-
Cited by 82 (15 self)
- Add to MetaCart
CGAL is a Computational Geometry Algorithms Library written in C++, which is being developed by research groups in Europe and Israel. The goal is to make the large body of geometric algorithms developed in the field of computational geometry available for industrial application. We discuss the major design goals for CGAL, which are correctness, flexibility, ease-of-use, efficiency, and robustness, and present our approach to reach these goals. Generic programming using templates in C++ plays a central role in the architecture of CGAL. We give a short introduction to generic programming in C++, compare it to the object-oriented programming paradigm, and present examples where both paradigms are used effectively in CGAL. Moreover, we give an overview of the current structure of the CGAL-library and consider software engineering aspects in the CGAL-project. Copyright c ○ 1999 John Wiley & Sons, Ltd. KEY WORDS: computational geometry; software library; C++; generic programming;
From Manual to Semi-automatic Semantic Annotation: About Ontology-Based Text Annotation Tools
- IN P. BUITELAAR & K. HASIDA (EDS). PROCEEDINGS OF THE COLING 2000 WORKSHOP ON SEMANTIC ANNOTATION AND INTELLIGENT CONTENT
, 2000
"... Semantic Annotation is a basic technology for intelligent content and is beneficial in a wide range of contentoriented intelligent applications. In this paper we present our work in ontology-based semantic annotation, which is embedded in a scenario of a knowledge portal application. Starting with s ..."
Abstract
-
Cited by 63 (16 self)
- Add to MetaCart
Semantic Annotation is a basic technology for intelligent content and is beneficial in a wide range of contentoriented intelligent applications. In this paper we present our work in ontology-based semantic annotation, which is embedded in a scenario of a knowledge portal application. Starting with seemingly good and bad manual semantic annotation, we describe our experiences made within the KA²-initiative. The experiences gave us the starting point for developing an ergonomic and knowledge base-supported annotation tool. Furthermore, the annotation tool described are currently extended with mechanisms for semi-automatic information-extraction based annotation. Supporting the evolving nature of semantic content we additionally describe our idea of evolving ontologies supporting semantic annotation.
Building Documentation Generators
- In Proceedings; IEEE International Conference on Software Maintenance
, 1999
"... In order to maintain the consistency between sources and documentation, while at the same time providing documentation at the design level, it is necessary to generate documentation from sources in such a way that it can be integrated with hand-written documentation. In order to simplify the const ..."
Abstract
-
Cited by 54 (18 self)
- Add to MetaCart
In order to maintain the consistency between sources and documentation, while at the same time providing documentation at the design level, it is necessary to generate documentation from sources in such a way that it can be integrated with hand-written documentation. In order to simplify the construction of documentation generators, we introduce island grammars, which only define those syntactic structures needed for (re)documentation purposes. We explain how they can be used to obtain various forms of documentation, such as data dependency diagrams for mainframe batch jobs. Moreover, we discuss how the derived information can be made available via a hypertext structure. We conclude with an industrial case study in which a 600,000 LOC COBOL legacy system is redocumented using the techniques presented in the paper. 1991 ACM Computing Classification System: D.2.2, D.2.5, D.2.7, D.3.4 Keywords and Phrases: Redocumentation, legacy systems, documentation generation, source code ana...
Folding: An Approach to Enable Program Understanding of Preprocessed Languages
, 2001
"... Since the early days of programming, preprocessors have been used to increase the expressiveness of programming languages. As a prominent example, the C Preprocessor cpp even allows low level configuration management through conditional compilation. But preprocessors significantly complicate the ta ..."
Abstract
-
Cited by 54 (2 self)
- Add to MetaCart
Since the early days of programming, preprocessors have been used to increase the expressiveness of programming languages. As a prominent example, the C Preprocessor cpp even allows low level configuration management through conditional compilation. But preprocessors significantly complicate the task of program understanding because "what the user sees is not what the compiler gets". There is a need for bridging the gap between preprocessor input and preprocessor output. In this
The Design of Distributed Hyperlinked Programming Documentation
, 1995
"... HotJava is a World-Wide Web browser that adds dynamic behavior to hypertext access by supporting the downloading and execution of architecture-neutral, interactive applets from inside a Web page. HotJava is written in Java, a new object-oriented language and environment developed at Sun Microsystems ..."
Abstract
-
Cited by 51 (0 self)
- Add to MetaCart
HotJava is a World-Wide Web browser that adds dynamic behavior to hypertext access by supporting the downloading and execution of architecture-neutral, interactive applets from inside a Web page. HotJava is written in Java, a new object-oriented language and environment developed at Sun Microsystems. This paper describes the design of the documentation for Java's application programming interface (API), for display and distribution on the World-Wide Web. Following in the footsteps of the literate programming paradigm, the documentation was automatically generated from source code. We designed a syntax for documentation comments which are embedded in the source code and parsed by the Java compiler to produce HTML markup. The display environment of the World-Wide-Web presented many challenging design requirements for readability, usability, and navigation. This paper discusses the design process, from augmenting the source code commenting syntax to designing the layout for the Web pages....
Greatest Common Divisors of Polynomials Given by Straight-Line Programs
- J. ACM
, 1988
"... . F Algorithms on multivariate polynomials represented by straight-line programs are developed irst it is shown that most algebraic algorithms can be probabilistically applied to data that is given by y r a straight-line computation. Testing such rational numeric data for zero, for instance, is faci ..."
Abstract
-
Cited by 49 (17 self)
- Add to MetaCart
. F Algorithms on multivariate polynomials represented by straight-line programs are developed irst it is shown that most algebraic algorithms can be probabilistically applied to data that is given by y r a straight-line computation. Testing such rational numeric data for zero, for instance, is facilitated b andom evaluations modulo random prime numbers. Then auxiliary algorithms are constructed that a determine the coefficients of a multivariate polynomial in a single variable. The first main result is an lgorithm that produces the greatest common divisor of the input polynomials, all in straight-line r a representation. The second result shows how to find a straight-line program for the reduced numerato nd denominator from one for the corresponding rational function. Both the algorithm for that conl c struction and the greatest common divisor algorithm are in random polynomial-time for the usua oefficient fields and output a straight-line program, which with controllably high probab...
A Design Rationale for a Language-based Editor
, 1991
"... This paper reviews the design issues that arise in the construction of effective language-based editors for the preparation of syntactically and static semantically correct language sentences, typically computer programs. The need for such editors to support a pluralistic view of program structure i ..."
Abstract
-
Cited by 37 (9 self)
- Add to MetaCart
This paper reviews the design issues that arise in the construction of effective language-based editors for the preparation of syntactically and static semantically correct language sentences, typically computer programs. The need for such editors to support a pluralistic view of program structure is identified, together with the need to observe the constraints on performance and storage consumption if such editors are to be accepted by professional programmers. From these basic needs, more specific requirements for the display, parsing and semantic checking components of such an editor are derived
The Bounded Retransmission Protocol must be on time!
- THIRD INT. WORKSHOP ON TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS (TACAS'97), LNCS 1217
, 1997
"... This paper concerns the transfer of files via a lossy communication channel. It formally specifies this file transfer service in a property-oriented way and investigates -- using two different techniques -- whether a given bounded retransmission protocol conforms to this service. This protocol is ba ..."
Abstract
-
Cited by 33 (8 self)
- Add to MetaCart
This paper concerns the transfer of files via a lossy communication channel. It formally specifies this file transfer service in a property-oriented way and investigates -- using two different techniques -- whether a given bounded retransmission protocol conforms to this service. This protocol is based on the well-known alternating bit protocol but allows for a bounded number of retransmissions of a chunk, i.e., part of a file, only. So, eventual delivery is not guaranteed and the protocol may abort the file transfer. We investigate to what extent real-time aspects are important to guarantee the protocol's correctness and use Spin and
Specifications as Search Keys for Software Libraries
- IN PROCEEDINGS OF THE EIGHTH INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING
, 1991
"... ..."
Retrieving Re-Usable Software Components By Polymorphic Type
, 1991
"... Polymorphic types are labels classifying both (a) defined components in a library and (b) contexts of free variables in partially written programs. We propose to help programmers make better use of software libraries by providing a system that, given (b), identifies candidates from (a) with matching ..."
Abstract
-
Cited by 30 (1 self)
- Add to MetaCart
Polymorphic types are labels classifying both (a) defined components in a library and (b) contexts of free variables in partially written programs. We propose to help programmers make better use of software libraries by providing a system that, given (b), identifies candidates from (a) with matching types. Assuming at first that matching means unifying (ie having a common instance) we discuss efficient ways of implementing such a retrieval system, and also indicate its likely effectiveness based on a quantitative study of currently available libraries. Later we introduce the applicative instance relation between types, which captures some intuitions about generalisation/specialisation, and discuss its use as the basis of a more flexible system. 1. INTRODUCTION Much programming effort can be saved by making good use of libraries of pre-defined components. In a functional language the majority of such components are functions and many of them are higher order functions, extensive use o...

